为了账号安全,请及时绑定邮箱和手机立即绑定

Microsoft.Office.Interop.Excel - 用分号分隔符打开 csv

Microsoft.Office.Interop.Excel - 用分号分隔符打开 csv

C#
炎炎设计 2021-11-07 20:25:15
我已阅读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);


查看完整回答
反对 回复 2021-11-07
?
郎朗坤

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:";");


查看完整回答
反对 回复 2021-11-07
  • 2 回答
  • 0 关注
  • 373 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信