Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/274.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文件中读取数据结果###_C#_.net_Excel_Range_Worksheet - Fatal编程技术网

C#从excel文件中读取数据结果###

C#从excel文件中读取数据结果###,c#,.net,excel,range,worksheet,C#,.net,Excel,Range,Worksheet,我使用此代码从excel文件中读取数据 Microsoft.Office.Interop.Excel.Worksheet xlWorkSheet; Microsoft.Office.Interop.Excel.Range range; int rCnt = 0; int cCnt = 0; string[,] data; xlWorkSheet = (Worksheet)wb.Worksheets

我使用此代码从excel文件中读取数据

        Microsoft.Office.Interop.Excel.Worksheet xlWorkSheet;
        Microsoft.Office.Interop.Excel.Range range;

        int rCnt = 0;
        int cCnt = 0;
        string[,] data;

        xlWorkSheet = (Worksheet)wb.Worksheets.get_Item(sheetId);

        range = xlWorkSheet.UsedRange;

        data = new string[range.Rows.Count, range.Columns.Count];

        for (rCnt = 1; rCnt <= range.Rows.Count; rCnt++)
        {
            for (cCnt = 1; cCnt <= range.Columns.Count; cCnt++)
            {          
                data[rCnt - 1, cCnt - 1] = (string)
                (range.Cells[rCnt, cCnt] as Range).Text;
            }
        }
Microsoft.Office.Interop.Excel.Worksheet xlWorkSheet;
Microsoft.Office.Interop.Excel.Range;
int rCnt=0;
int-cCnt=0;
字符串[,]数据;
xlWorkSheet=(工作表)wb.Worksheets.get_项(sheetId);
range=xlWorkSheet.UsedRange;
数据=新字符串[range.Rows.Count,range.Columns.Count];

对于(rCnt=1;rCnt我已经看到了许多使用属性值或值2读取范围的示例。
你能试试这个吗

data[rCnt - 1, cCnt - 1] = (string)(range.Cells[rCnt, cCnt] as Range).Value.ToString();
Value2属性类似于Value,但不能很好地转换日期列,因此如果Excel文件中有日期列,最好使用该值。有关Value和Value2之间差异的文章,请尝试使用property而不是
Text

所以不是

(range.Cells[rCnt, cCnt] as Range).Text;
你会写信吗

(range.Cells[rCnt, cCnt] as Range).Value;
使用(字符串)(range.Cells[rCnt,cCnt]作为range)。Value作为Value将返回单元格的实际值。Text将返回您在电子表格上实际看到的内容