创建一个新的excel文件,同时在c#windows窗体的excel文件中插入其他时间。
我有下面这个函数,它将值插入excel文件中的particualr单元格。当我第二次调用此函数时,它会打开一个新的excel文件,并且在将值输入到不同的excel文件时。如何打开单个excel文件,并将我的两个值输入到同一个excel文件中创建一个新的excel文件,同时在c#windows窗体的excel文件中插入其他时间。,c#,winforms,C#,Winforms,我有下面这个函数,它将值插入excel文件中的particualr单元格。当我第二次调用此函数时,它会打开一个新的excel文件,并且在将值输入到不同的excel文件时。如何打开单个excel文件,并将我的两个值输入到同一个excel文件中 private bool insertIntoExcel(string pathname , string sheetname ,int excelRow, int excelColumn,string value) {
private bool insertIntoExcel(string pathname , string sheetname ,int excelRow, int excelColumn,string value)
{
try
{
Microsoft.Office.Interop.Excel._Application oXL = new Microsoft.Office.Interop.Excel.Application();
oXL.Visible = true;
oXL.DisplayAlerts = false;
Microsoft.Office.Interop.Excel.Workbook mWorkBook = oXL.Workbooks.Open(pathname, 0, false, 5, "", "", false, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "", true, false, 0, true, false, false);
//Get all the sheets in the workbook
Microsoft.Office.Interop.Excel.Sheets mWorkSheets = mWorkBook.Worksheets;
//Get the allready exists sheet
Microsoft.Office.Interop.Excel._Worksheet mWSheet1 = (Microsoft.Office.Interop.Excel.Worksheet)mWorkSheets.get_Item(sheetname);
Microsoft.Office.Interop.Excel.Range range = mWSheet1.UsedRange;
mWSheet1.Cells[excelRow, excelColumn] = value;
}catch
{
return false;
}
return true;
}
不要每次都新建Excel应用程序并打开工作簿。您应该将工作簿作为处理程序保留并保留它。使用处理程序执行插入或其他操作。尝试显式关闭excel实例。我建议添加
mWorkBook.Close(1);oXL.Quit()最后
块中的code>语句。