我编写了一个 C# 应用程序来查询数据库并将结果放入一个 excel 文件中。该程序本身运行良好。但是,如果我在应用程序运行时打开第二个完全不相关的 excel 文件,则会发生异常并且进程停止。
现在,在程序本身中,我将可见性设置为 false,在打开第二个不相关的 Excel 文件后,正在生成的文件突然打开并可见,然后我得到了异常。
任何人都知道是什么导致了问题或如何解决它?
相关部分代码如下,异常发生在 worksheet.get_Range(currCol.GetString() + excelRow, Missing.Value).Formula = item.ToString();
异常本身是:“HRESULT 异常:0x800AC472”
Application exc = new Application();
//Makes the Excel file not visible
exc.Visible = false;
exc.UserControl = false;
exc.DisplayAlerts = false;
Workbooks workbooks = exc.Workbooks;
Workbook workbook = workbooks.Add(XlWBATemplate.xlWBATWorksheet);
Sheets sheets = workbook.Worksheets;
Worksheet worksheet = (Worksheet)sheets.get_Item(1);
int excelRow = 1;
ExcelChar currCol = new ExcelChar('A');
System.Data.DataTable testTable = dbConnection.searchQuery("Select * from testTable").Copy();
if (worksheet == null)
{
Console.WriteLine("ERROR: worksheet == null");
}
foreach (System.Data.DataRow row in testTable.Rows)
{
foreach (var item in row.ItemArray)
{
worksheet.get_Range(currCol.GetString() + excelRow, Missing.Value).Formula = item.ToString();
currCol.Add(1);
}
excelRow++;
currCol = new ExcelChar('A');
}