执行程序后无法打开Excel文件

时间:2012-07-30 03:24:24

标签: c#

我使用C#Window窗体应用程序将一些数据添加到Excel文件中。但是在执行程序之后,打开excel文件我需要关闭Window窗体,否则我不能打开我添加数据的excel文件以及任何excel文件。当我试图打开任何excel文件而不关闭Window表单应用程序时,它没有显示任何数据和单元格(只是一个空白的屏幕)。

我需要关闭我的appilcation才能查看excel文件。即使在我编写了释放COM对象的代码。

        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文件?

2 个答案:

答案 0 :(得分:0)

下面是一个示例代码,我使用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"

答案 1 :(得分:0)

首先尝试打开现有文件(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);

然后通过使用上述功能,您可以向其写入数据......