使用Microsoft.Office.Interop.Excel从excel 2010读取数据

Coo*_*ugh 14 .net c# excel office-interop

我无法在Excel中读取数据.这是我正在使用的代码:

using Excel = Microsoft.Office.Interop.Excel;

Excel.Application xlApp = new Excel.Application();
Excel.Workbook xlWorkbook = xlApp.Workbooks.Open(@"Book1.xlsx", 0, true, 5, "", "", true, Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0);
Excel._Worksheet xlWorksheet = (Excel._Worksheet)xlWorkbook.Sheets[1];
Excel.Range xlRange = xlWorksheet.UsedRange;

int rowCount = xlRange.Rows.Count;
int colCount = xlRange.Columns.Count;

for (int i = 1; i <= rowCount; i++)
{
    for (int j = 1; j <= colCount; j++)
    {
        MessageBox.Show(xlWorksheet.Cells[i,j].ToString());
    }
}
Run Code Online (Sandbox Code Playgroud)

我得到一个消息框,说明了一些System.__ComObject值而不是值.
我怎样才能解决这个问题?

Coo*_*ugh 16

我找到了上面的解决方案,这里是代码:

string temp = (string)(xlRange.Cells[i, j] as Excel.Range).Value2;
MessageBox.Show(temp);
Run Code Online (Sandbox Code Playgroud)


use*_*121 5

还没有测试过,但我认为应该阅读

MessageBox.Show(xlRange.Cells[i,j].ToString());
Run Code Online (Sandbox Code Playgroud)

或者

MessageBox.Show(xlRange.Cells[i,j].Value.ToString());
Run Code Online (Sandbox Code Playgroud)