我有一个使用 Interop.Excel
功能用 C# 编写的项目。 Worksheet.SaveAs("file.csv", ...)
方法与项目构建所针对的 .NET Framework 的工作方式不同。
- 针对 .NET Framework 3.5 编译时,该方法使用分号 (
;
) 作为分隔符(这正是我需要的)来保存 CSV 文件。 - 为 .NET Framework 4 编译时,它使用逗号 (
,
) 作为分隔符,代码中没有任何其他更改。
谁能解释一下发生了什么? 我如何强制 excel 在 CSV 文件中始终使用分号作为分隔符,而与目标 .NET Framework 无关?
最佳答案
您可以像这样为您的 Excel 实例设置某些区域设置,以强制其写入 CSV 的方式:
var cI = new CultureInfo(locale);
var excel = new Microsoft.Office.Interop.Excel.Application();
excel.UseSystemSeparators = false;
excel.ThousandsSeparator = cI.NumberFormat.NumberGroupSeparator;
excel.DecimalSeparator = cI.NumberFormat.NumberDecimalSeparator;
关于c# - Worksheet.SaveAs ("file.csv") 在 .NET 3.5 和 .NET 4.0 中的工作方式不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32473815/