C# 保存文件时使用Interop.Excel UTF-8编码
我在用UTF-8编码将Excel文件保存为CSV时遇到问题 因为我的Excel文档中有非标准字符(不同的语言),所以保存为CSV时会出现问题。这是通过将web选项编码设置为UTF-8实现的 我正在创建一个基本的C#程序,它可以解析Excel文件中的数据并将其保存为CSV格式,但我无法使用UTF-8编码进行保存 我正在使用Microsoft.Office.Interop.Excel处理Excel文件 这是我的代码:C# 保存文件时使用Interop.Excel UTF-8编码,c#,.net,excel,csv,encoding,C#,.net,Excel,Csv,Encoding,我在用UTF-8编码将Excel文件保存为CSV时遇到问题 因为我的Excel文档中有非标准字符(不同的语言),所以保存为CSV时会出现问题。这是通过将web选项编码设置为UTF-8实现的 我正在创建一个基本的C#程序,它可以解析Excel文件中的数据并将其保存为CSV格式,但我无法使用UTF-8编码进行保存 我正在使用Microsoft.Office.Interop.Excel处理Excel文件 这是我的代码: private Excel.Application application = n
private Excel.Application application = new Excel.Application { Visible = false };
private Excel.Workbook Workbook = application.Workbooks.Open(OrigionalFileUrl);
Workbook.SaveAs(NewFileUrl);
我试过了
application.DefaultWebOptions.Encoding = MsoEncoding.msoEncodingUTF8;
但是它不起作用,当涉及到带有特殊字符的部分时,我得到的CSV文件总是一团糟
谢谢 我相信您希望在工作簿级别,而不是应用程序级别执行此操作。另外,由于没有将文件格式包括为CSV,
SaveAs
可能使用本机格式,但仅更改文件扩展名
试试这些,看看它们是否解决了您的问题:
Workbook.WebOptions.Encoding = Microsoft.Office.Core.MsoEncoding.msoEncodingUTF8;
Workbook.SaveAs(NewFileUrl, XlFileFormat.xlCSV);
提议的解决方案对我不起作用。但是根据文档,现在有一个
CSV-UTF8的XlFileFormat:
XlFileFormat.xlCSVUTF8
.net通过互操作而不是vba api工作。互操作api没有这样的选项: