Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在Excel中打开具有正确列的CSV文件_C#_Excel_Csv - Fatal编程技术网

C# 如何在Excel中打开具有正确列的CSV文件

C# 如何在Excel中打开具有正确列的CSV文件,c#,excel,csv,C#,Excel,Csv,我尝试使用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.Applic

我尝试使用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;

感谢您的帮助,并对我的英语不好表示歉意。

csv文件在我的excel中运行良好,可能您的系统有不同的默认分隔符。你可以覆盖这个

尝试在csv文件的顶部添加以下内容:

sep=;
  • 请注意,这仅在excel中打开csv时有效

有关更多详细信息,请参见以下答案:

此处是否强制要求Excel Interop?对于简单的csv,您可以使用csv助手或任何处理csv的真实库。编写代码会更容易。您将能够在没有Excel的服务器上部署(服务器上的许可证很昂贵)。为什么要使用Excel互操作?是否要自动化用户的Excel实例?没有什么理由不使用Excel。像CsvHelper这样的库可以使用任何分隔符读取CSV,甚至可以读取带有“不幸”特性(如注释行)的CSV。像Epplus这样的库可以生成真正的Excel文件,而无需调用Excel本身。你能描述一下上下文吗?是否从csv导入数据?您需要生成输出吗?这个输出的格式是什么?如果用户在查找文件或设置分隔符和列类型时遇到问题,您是否试图在Excel中轻松打开文件?谢谢您的快速回答!我想在Excel中打开该csv,因为我想添加一些过滤器和字体设置。。。