C# 使用Microsoft Excel Interop读取和转换CSV文件会引发System.ExecutionEngineeException
我目前在我的程序中遇到一个问题,该程序是为读取.xls和.csv文件而创建的,并将两个文件相互匹配。当使用.xls文件时,一切正常,工作正常。但是,如果我使用.csv文件,我总是会收到以下错误: 致命错误。内部CLR错误。(0x80131506) 未知模块中发生“System.ExecutionEngineeException”类型的未处理异常。 我正在使用“get_值”读取文件,并将结果存储在对象[,]中。xls和csv文件内容相同(行和列相同)。csv使用作为分隔符“,” 当我直接查看对象“valueArrayComp”时,我可以正确地看到每个字符串,即使我没有明确指定分隔符: 但当我试图处理数据时,例如通过将其转换回字符串或元组, 我收到上述错误 我错过了什么?我在这里也读了一些线程,其中指出错误可能发生在引发实际异常之前。然而,我仍然无法阻止实际的错误 我的代码如下所示:C# 使用Microsoft Excel Interop读取和转换CSV文件会引发System.ExecutionEngineeException,c#,csv,interop,clr,C#,Csv,Interop,Clr,我目前在我的程序中遇到一个问题,该程序是为读取.xls和.csv文件而创建的,并将两个文件相互匹配。当使用.xls文件时,一切正常,工作正常。但是,如果我使用.csv文件,我总是会收到以下错误: 致命错误。内部CLR错误。(0x80131506) 未知模块中发生“System.ExecutionEngineeException”类型的未处理异常。 我正在使用“get_值”读取文件,并将结果存储在对象[,]中。xls和csv文件内容相同(行和列相同)。csv使用作为分隔符“,” 当我直接查看对象“
Workbook wbCol;
Worksheet wsCol;
Application excelComp;
wbCol = wbsCol.Open(compareFile);
excelComp.DisplayAlerts = false;
wsCol = (Worksheet)wbCol.Worksheets[1];
int addC = 2;
int j = 2;
foreach (Worksheet wsC in wbCol.Worksheets)
{
Microsoft.Office.Interop.Excel.Range excelRangeComp = wsC.UsedRange;
Console.WriteLine(wsC.Cells[2,2]); //this is inserted and a test and working
object[,] valueArrayComp = (object[,])excelRangeComp.get_Value(XlRangeValueDataType.xlRangeValueDefault);
string test = Convert.ToString(valueArrayComp[2, 2]); //error is thrown here, as soon as I am trying to access the object
谢谢你的建议 我注意到它“必须”与get_值有关。是否有一种方法可以同时处理具有相同结构(列和行)的xls和csv文件?还有一种方法可以使用.csv的get_值吗?