Workbooks.Open 函数忽略设置的分隔符
Workbooks.Open function ignores set delimiter
我需要将 csv 文件转换为 xlsx。
我想使用互操作功能。
csv文件以分号分隔,但open函数忽略设置的分隔符
这是我的代码:
Excel.Application app = new Excel.Application();
app.Visible = true;
Excel.Workbooks workbooks = app.Workbooks;
Excel.Workbook wb = app.Workbooks.Open(sourceFile,
Type.Missing,
Type.Missing,
Excel.XlFileFormat.xlCSV, // Format
Type.Missing,
Type.Missing,
Type.Missing,
Type.Missing,
";", // Delimiter
Type.Missing,
Type.Missing,
Type.Missing,
Type.Missing,
Type.Missing,
Type.Missing);
workbooks[1].SaveAs(newXLSXPath, Excel.XlFileFormat.xlOpenXMLWorkbook);
workbooks.Close();
当我打开新的 xlsx 文件时,我可以看到 csv 文件是使用“,”作为分隔符打开的。
这是怎么回事?
感谢 Rand Random 的评论,我又更仔细地阅读了那个问题,发现了不同之处。
您必须将“本地”参数设置为真!否则它会忽略分隔符并使用默认逗号。
这是工作代码:
Excel.Application app = new Excel.Application();
app.Visible = true;
Excel.Workbooks workbooks = app.Workbooks;
Excel.Workbook wb = app.Workbooks.Open(sourceFile,
Type.Missing,
Type.Missing,
Excel.XlFileFormat.xlCSV, // Format
Type.Missing,
Type.Missing,
Type.Missing,
Type.Missing,
";", // Delimiter
Type.Missing,
Type.Missing,
Type.Missing,
Type.Missing,
true, // <--- THIS WAS MISSING!
Type.Missing);
workbooks[1].SaveAs(newXLSXPath, Excel.XlFileFormat.xlOpenXMLWorkbook);
workbooks.Close();
我需要将 csv 文件转换为 xlsx。 我想使用互操作功能。
csv文件以分号分隔,但open函数忽略设置的分隔符
这是我的代码:
Excel.Application app = new Excel.Application();
app.Visible = true;
Excel.Workbooks workbooks = app.Workbooks;
Excel.Workbook wb = app.Workbooks.Open(sourceFile,
Type.Missing,
Type.Missing,
Excel.XlFileFormat.xlCSV, // Format
Type.Missing,
Type.Missing,
Type.Missing,
Type.Missing,
";", // Delimiter
Type.Missing,
Type.Missing,
Type.Missing,
Type.Missing,
Type.Missing,
Type.Missing);
workbooks[1].SaveAs(newXLSXPath, Excel.XlFileFormat.xlOpenXMLWorkbook);
workbooks.Close();
当我打开新的 xlsx 文件时,我可以看到 csv 文件是使用“,”作为分隔符打开的。
这是怎么回事?
感谢 Rand Random 的评论,我又更仔细地阅读了那个问题,发现了不同之处。
您必须将“本地”参数设置为真!否则它会忽略分隔符并使用默认逗号。
这是工作代码:
Excel.Application app = new Excel.Application();
app.Visible = true;
Excel.Workbooks workbooks = app.Workbooks;
Excel.Workbook wb = app.Workbooks.Open(sourceFile,
Type.Missing,
Type.Missing,
Excel.XlFileFormat.xlCSV, // Format
Type.Missing,
Type.Missing,
Type.Missing,
Type.Missing,
";", // Delimiter
Type.Missing,
Type.Missing,
Type.Missing,
Type.Missing,
true, // <--- THIS WAS MISSING!
Type.Missing);
workbooks[1].SaveAs(newXLSXPath, Excel.XlFileFormat.xlOpenXMLWorkbook);
workbooks.Close();