我已阅读Microsoft.Office.Interop.Excel - *.csv 文件打开但它对我不起作用,我不知道为什么。首先,我只尝试使用我需要的可选参数,如下所示:Excel.Application xlApp = new Excel.Application();xlWorkBook = xlApp.Workbooks.Open(path, Delimiter:";");它打开 csv 但以逗号分隔。然后我在上面引用的线程中尝试过,它根本没有分开。Excel.Application xlApp = new Excel.Application();xlWorkBook = xlApp.Workbooks.Open(path,0,false,5, "","",false,Excel.XlPlatform.xlWindows,";",true,false,0,true,false,false);这是我使用的一些示例数据:2,138;2,066;2,022;2,076;0,297;;;0,770;1,898;1,864;1,798;1,859;1,715;20,032;8,599;0,039;;;0,336;Iteration: 5 of 5000,298;0,295;0,298;0,297;0,297;;;0,302;0,296;0,296;0,297;0,297;0,299;0,300;0,296;0,037;;;0,409;Iteration: 6 of 5000,297;0,299;0,296;0,297;0,311;;;0,295;0,295;0,295;0,295;0,295;0,295;0,306;0,306;0,039;;;0,372;Iteration: 7 of 5000,299;0,298;0,295;0,297;0,295;;;0,294;0,307;0,295;0,295;0,296;0,297;0,296;0,295;0,040;;;0,368;Iteration: 8 of 500有谁知道我做错了什么?当我双击打开 csv 文件(用于打开 csv 的 excel 标准程序)时,它会根据需要对其进行格式化。以分号作为分隔符。我可能已经在属性中设置过一次。
2 回答
慕的地10843
TA贡献1785条经验 获得超8个赞
尝试OpenText:
Excel.Application ex = new Excel.Application();
Excel.Workbooks wbs = ex.Workbooks;
wbs.OpenText(path,
DataType:Excel.XlTextParsingType.xlDelimited,
Semicolon: true);
郎朗坤
TA贡献1921条经验 获得超9个赞
https://docs.microsoft.com/en-us/dotnet/api/microsoft.office.interop.excel.workbooks.open?view=excel-pia
格式对象
可选对象。如果 Microsoft Excel 正在打开文本文件,则此参数指定分隔符,如下表所示。如果省略此参数,则使用当前分隔符。
...
分隔符对象
可选对象。如果文件是文本文件并且 Format 参数为 6,则此参数是一个字符串,用于指定要用作分隔符的字符。例如,对制表符使用 Chr(9),对逗号使用“,”,使用“;” 对于分号,或使用自定义字符。仅使用字符串的第一个字符。
所以你的 open 语句应该是: xlWorkBook = xlApp.Workbooks.Open(path, Format:6, Delimiter:";");
- 2 回答
- 0 关注
- 373 浏览
添加回答
举报
0/150
提交
取消