保存文件时采用Interop.Excel UTF-8编码
我遇到问题,将Excel文件保存为UTF-8编码的CSV文件。
因为我的Excel文档中有非标准字符(不同的语言),所以在保存为CSV时会引发问题。 这是通过将Web选项编码设置为UTF-8来解决的。
我正在创build一个基本的C#程序,用于parsingExcel文件中的数据并将其保存为CSV格式,但无法使用UTF-8编码进行保存。
我正在使用Microsoft.Office.Interop.Excel来处理Excel文件。
这是我的代码:
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);