在C#中读取Excel文件始终导致系统.__ ComObject?

时间:2011-01-07 16:38:07

标签: c# excel spreadsheet

这是我用来读取xls文件的代码:

Microsoft.Office.Interop.Excel.Application excelApp = new Microsoft.Office.Interop.Excel.Application();
Microsoft.Office.Interop.Excel.Workbook excelWorkbook = excelApp.Workbooks.Open(filePath, 0, true, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0);
Microsoft.Office.Interop.Excel.Sheets excelSheets = excelWorkbook.Worksheets;
Microsoft.Office.Interop.Excel.Worksheet excelSheet = (Microsoft.Office.Interop.Excel.Worksheet)excelSheets.get_Item(1);

MessageBox.Show(excelSheet.Cells[1,1].ToString());

这会产生一个消息框:

System.__ComObject

不确定发生了什么,我真的很感激任何帮助,谢谢!

3 个答案:

答案 0 :(得分:3)

使用范围

Microsoft.Office.Interop.Excel.Range range =(Microsoft.Office.Interop.Excel.Range)excelSheet.Cells[1,1];
string cellValue =range.Value.ToString();

答案 1 :(得分:3)

在您的示例中,excelSheet.Cells [1,1]不是值,而是对象(Range)。您需要获取对象的Value属性。

MessageBox.Show(excelSheet.Cells[1, 1].Value.ToString());

答案 2 :(得分:0)

在我的项目中,我使用Value2:

 MessageBox.Show(((Microsoft.Office.Interop.Excel.Range)excelSheet.Cells[1, 1]).Value2.ToString());