Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/323.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# 使用Microsoft Excel Interop读取和转换CSV文件会引发System.ExecutionEngineeException_C#_Csv_Interop_Clr - Fatal编程技术网

C# 使用Microsoft Excel Interop读取和转换CSV文件会引发System.ExecutionEngineeException

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使用作为分隔符“,” 当我直接查看对象“

我目前在我的程序中遇到一个问题,该程序是为读取.xls和.csv文件而创建的,并将两个文件相互匹配。当使用.xls文件时,一切正常,工作正常。但是,如果我使用.csv文件,我总是会收到以下错误:

致命错误。内部CLR错误。(0x80131506) 未知模块中发生“System.ExecutionEngineeException”类型的未处理异常。

我正在使用“get_值”读取文件,并将结果存储在对象[,]中。xls和csv文件内容相同(行和列相同)。csv使用作为分隔符“,”

当我直接查看对象“valueArrayComp”时,我可以正确地看到每个字符串,即使我没有明确指定分隔符:

但当我试图处理数据时,例如通过将其转换回字符串或元组, 我收到上述错误

我错过了什么?我在这里也读了一些线程,其中指出错误可能发生在引发实际异常之前。然而,我仍然无法阻止实际的错误

我的代码如下所示:

        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_值吗?