保存文件时采用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);