【发布时间】:2015-04-15 13:39:43
【问题描述】:
我正在使用this question 将 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() 行执行后,我会收到以下异常:
“外部表不是预期格式”
【问题讨论】:
-
此代码正在尝试专门连接到 Excel 8.0 电子表格。您要连接的电子表格是什么格式的?
-
我正在尝试将 excel 2010 转换为 csv
-
您需要将
cnnStr中的Excel 8.0更改为Excel 14.0。请注意,如果您加载的是xlsx而不是xls文件,则需要Excel 14.0 Xml。 -
当我用 Excel 14.0 更改 cnnStr - 它说 Excel 14.0 未在本地计算机上注册
-
您需要安装this package。我知道它说它适用于 Office 2007,但它也适用于 2010。
标签: c# excel csv c#-3.0 converter