【发布时间】:2019-05-21 07:28:45
【问题描述】:
我尝试使用 Microsoft.Office.Interop.Excel 库通过 Excel 打开一个 CSV 文件。 它工作正常,但所有文本都在一个带有分隔符“;”的列中。 举个例子:
Id;Name;Zeit
1;Name1;21.05.2019 09:21:04
3;Name2;21.05.2019 09:21:04
这是我用来在 Excel 中打开 CSV 的代码:
object missing = Type.Missing;
Excel.Application ex = new Excel.Application();
Excel.Workbook wbs = ex.Workbooks.Open(@"c:\users\langenwa\desktop\File.csv", 0, false, Excel.XlFileFormat.xlCSV, "", "", false, Excel.XlPlatform.xlWindows, ";", true, false, 0, true, false, false);
Excel.Worksheet mSheet = (Excel.Worksheet)wbs.Worksheets[1];
ex.Visible = true;
感谢您的帮助,抱歉我的英语不好。
【问题讨论】:
-
Excel 互操作在这里真的是强制性的吗?对于像这样的简单 csv,您可以使用 CSV Helper 或任何处理 CSV 的真实库。编码会更容易。而且您将能够在没有 Excel 的服务器上进行部署(服务器上的许可证很昂贵)。
-
您为什么使用 Excel 互操作?您想自动化用户的 Excel 实例吗?没有什么理由使用 Excel。像 CsvHelper 这样的库可以使用任何分隔符读取 CSV,甚至可以读取带有注释行等“不幸”功能的 CSV。像 Epplus 这样的库可以在不调用 Excel 本身的情况下生成真正的 Excel 文件。
-
Interop Excell 可能非常慢。你能描述一下上下文吗?你是从 csv 导入数据吗?您需要生成输出吗?这个输出的格式是什么?您是否尝试让在 Excel 中打开文件的用户在查找文件或设置分隔符和列类型时遇到问题?
-
感谢您的快速解答!我想在 Excel 中打开该 csv,因为我想添加一些过滤器和字体设置...