C# 执行程序后无法打开Excel文件
我正在使用C#窗口表单应用程序向Excel文件添加一些数据。但在执行程序后,要打开excel文件,我需要关闭窗口窗体,否则我不仅无法打开添加了数据的excel文件,也无法打开任何excel文件。当我试图在不关闭窗体应用程序的情况下打开任何excel文件时,它没有显示任何数据和单元格(只是一个空白屏幕) 我需要关闭我的应用程序才能查看excel文件。即使在那时,我也编写了释放COM对象的代码C# 执行程序后无法打开Excel文件,c#,C#,我正在使用C#窗口表单应用程序向Excel文件添加一些数据。但在执行程序后,要打开excel文件,我需要关闭窗口窗体,否则我不仅无法打开添加了数据的excel文件,也无法打开任何excel文件。当我试图在不关闭窗体应用程序的情况下打开任何excel文件时,它没有显示任何数据和单元格(只是一个空白屏幕) 我需要关闭我的应用程序才能查看excel文件。即使在那时,我也编写了释放COM对象的代码 workbook = appExl.Workbooks.Open(Excel_file,
workbook = appExl.Workbooks.Open(Excel_file, 0,false, 5, "", "", false, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "", true, false, 0, true, false, false);
workbook.Save();
System.Runtime.InteropServices.Marshal.ReleaseComObject(ShtRange);
System.Runtime.InteropServices.Marshal.ReleaseComObject(NwSheet);
workbook.Close(true, Missing.Value, Missing.Value);
System.Runtime.InteropServices.Marshal.ReleaseComObject(workbook);
appExl.Quit();
System.Runtime.InteropServices.Marshal.ReleaseComObject(appExl);
因此,请帮助我如何在执行后打开excel文件而不关闭应用程序?下面是一个示例代码,我在其中使用C#编写excel工作表,效果非常好。请使用以下名称空间 使用Microsoft.Office.Interop.Excel; 使用Excel=Microsoft.Office.Interop.Excel 看看这个
Excel.Application XlApp = null;
Excel.Workbook workbook = null;
Excel.Worksheet Ws = null;
Excel.Range Range1 = null;
Excel.Worksheet X = null;
XlApp = new Excel.Application();
XlApp.Visible = true;
workbook = XlApp.Workbooks.Add(XlWBATemplate.xlWBATWorksheet);
Ws = (Excel.Worksheet)workbook.Worksheets[1];
XlApp.WindowState = XlWindowState.xlMaximized;
Ws = (Excel.Worksheet)workbook.Worksheets[1];
Ws.Activate();
Ws.Name = "MyFirstSheet";
int rowIndex = 1; int columnIndex = 2;
xlApp.Cells(rowIndex, columnIndex) = "Blah"
下面是一个示例代码,我在其中使用C#编写excel工作表,效果非常好 使用Microsoft.Office.Interop.Excel; 使用Excel=Microsoft.Office.Interop.Excel 看看这个
Excel.Application XlApp = null;
Excel.Workbook workbook = null;
Excel.Worksheet Ws = null;
Excel.Range Range1 = null;
Excel.Worksheet X = null;
XlApp = new Excel.Application();
XlApp.Visible = true;
workbook = XlApp.Workbooks.Add(XlWBATemplate.xlWBATWorksheet);
Ws = (Excel.Worksheet)workbook.Worksheets[1];
XlApp.WindowState = XlWindowState.xlMaximized;
Ws = (Excel.Worksheet)workbook.Worksheets[1];
Ws.Activate();
Ws.Name = "MyFirstSheet";
int rowIndex = 1; int columnIndex = 2;
xlApp.Cells(rowIndex, columnIndex) = "Blah"
尝试此方法首先打开一个现有文件(xls),然后向其中添加所需的工作表并向其中写入数据
Missing _value = Missing.Value;
string strtemp = "C:\\MyExcel.xls";
Microsoft.Office.Interop.Excel.Workbook Wtemp = XlApp.Workbooks.Open(strtemp, _value, _value, _value, _value, _value, _value, _value, _value, _value, _value, _value, _value, _value, _value);
Wtemp = xlApp.Workbooks.Add(Microsoft.Office.Interop.Excel.XlWBATemplate.xlWBATWorksheet);
然后,通过使用上述功能,您可以向其中写入数据…尝试此操作,首先打开一个现有文件(xls)。然后向其中添加所需的工作表并向其中写入数据
Missing _value = Missing.Value;
string strtemp = "C:\\MyExcel.xls";
Microsoft.Office.Interop.Excel.Workbook Wtemp = XlApp.Workbooks.Open(strtemp, _value, _value, _value, _value, _value, _value, _value, _value, _value, _value, _value, _value, _value, _value);
Wtemp = xlApp.Workbooks.Add(Microsoft.Office.Interop.Excel.XlWBATemplate.xlWBATWorksheet);
然后,通过使用上述函数,您可以向其中写入数据…如果您使用的是Excel 2007或更高版本,您可以通过使用Interop.Excel使用Open XML SDKMy链接避免所有这些COM内容。不过,我也希望您能试用Open XML。如果您使用的是Excel 2007或更高版本,您可以通过使用Interop.Excel使用Open XML SDKMy链接来避免所有这些COM内容。不过,我也希望您能试用Open XML。我想将数据添加到现有的excel文件中。上面的代码也适用于此?OP的问题是应用程序在工作簿关闭后仍保持Excel文件打开。也许您应该包含关闭Excel文档的代码。我想将数据添加到现有的Excel文件中。上面的代码也适用于此?OP的问题是应用程序在工作簿关闭后仍保持Excel文件打开。也许您应该包含关闭Excel文档的代码。