17

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());
    }
}

System.__ComObject値の代わりに何かを伝えるメッセージ ボックスが表示されます。
どうすればこれを修正できますか?

4

5 に答える 5

17

上記の解決策を見つけました。コードは次のとおりです。

string temp = (string)(xlRange.Cells[i, j] as Excel.Range).Value2;
MessageBox.Show(temp);
于 2013-04-08T07:41:54.113 に答える
5

テストしていませんが、読むべきだと思います

MessageBox.Show(xlRange.Cells[i,j].ToString());

または代わりに

MessageBox.Show(xlRange.Cells[i,j].Value.ToString());
于 2013-04-08T07:31:14.717 に答える
3

これを試して:

MessageBox.Show(xlRange.Cells[i][j].Value);
于 2016-08-03T12:13:25.953 に答える