使用C#代码将Excel数据转换为CSV时出错

我正在使用此问题将Excel数据转换为CSV。

static void ConvertExcelToCsv(string excelFilePath, string csvOutputFile, int worksheetNumber = 1) { var cnnStr = String.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties=\"Excel 8.0;IMEX=1;HDR=NO\"", excelFilePath); var cnn = new OleDbConnection(cnnStr); var dt = new DataTable(); try { cnn.Open(); } } 

一旦cnn.open()行被执行,我会得到以下exception:

“外部表格不是预期的格式”

链接中的问题是旧的,使用Excel 8.0 Spreadsheet版本为Octopoid。 您可以试用版本12.0或找出您使用的版本:

 var cnnStr = String.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};" + "Extended Properties='Excel 12.0 Xml;HDR=YES;'"); 

如果无法使其工作,则可以使用库:>

图书馆被称为“excellibrary”
这里是链接: https : //code.google.com/p/excellibrary/

使用它非常简单。 它在给定的链接中有一个Wiki,所以你可以熟悉使用。

的Oguzhan

Heyho,你可以打开.xls文件并将其保存为.csv,并用C#