【发布时间】:2012-03-16 00:36:34
【问题描述】:
我正在像这样在 C# 中导出 Excel.Worksheet:
myWorksheet.SaveAs(myPath, Excel.XlFileFormat.xlCSV);
它几乎可以正常工作,但我需要强制做两件事:
- “字段分隔符”应为分号 (;)。我得到一个逗号 (,)
- “文本分隔符”应始终为空。我收到双引号 ("")
The documentation 完全没有帮助(到底是什么“xlTextWindows:指定一种文本格式。”应该是什么意思?)
有什么想法吗?
【问题讨论】:
-
你得到一个逗号作为你的字段分隔符,因为这就是 CSV 中的“c”代表的意思。尽管我不熟悉 Excel 内置格式的长长列表,但我认为您可能找不到完全适合您需要的内容。如果这是一次性操作,那么执行全局搜索和替换来完成此任务将相当简单。这是您需要反复做的事情吗?你用 C# 标记了这个——你对一些 C# 代码感兴趣吗?
-
xlTextWindows是定义换行符的许多常量之一。 Windows 使用 CR LF。使用 Excel,将工作簿另存为 CSV 不会在文本字段周围放置双引号,除非它包含逗号。 C# 不同,或者您的字段中有逗号。我了解如果将小数分隔符指定为逗号,Excel 将使用分号作为 CSV 分隔符。这通常是一个国家设置,但 C# 具有允许临时国家设置的功能,这可能值得一试。