我写了一些代码来从现有的excel文件中读取单元格值。
当我调试时,程序抛出一个" System.Runtime.InteropServices.COMException"。我知道我们不应该在COM对象上使用2个点,但我不知道如何修复我的代码。
打开excel文件时请帮我清理COM对象。
private void button1_Click(object sender, EventArgs e)
{
Excel.Application xlApp = new Excel.Application();
Excel.Workbook xlBook;
Excel.Worksheet xlSheet;
xlBook = xlApp.Workbooks.Open(@"C:\Users\trump45\Desktop\trump45.xls");
xlApp.Visible = false;
xlSheet = xlBook.Sheets["Sheet4"];
//Exception rising here
string d = xlSheet.UsedRange.Cells[3, "B"].Value.ToString();
MessageBox.Show(d);
xlBook.Close(false, Missing.Value, Missing.Value);
xlApp.Quit();
System.Runtime.InteropServices.Marshal.ReleaseComObject(xlSheet);
System.Runtime.InteropServices.Marshal.ReleaseComObject(xlBook);
System.Runtime.InteropServices.Marshal.ReleaseComObject(xlApp);
}
答案 0 :(得分:0)
如果您使用字母数字索引,请使用:
string d = xlSheet.UsedRange.Cells["B3"].Value.ToString();
或使用索引使用
访问单元格string d = xlSheet.UsedRange.Cells[3, 2].Value.ToString();