是posible编辑打开excel文件

时间:2016-01-05 12:16:38

标签: c# excel

我将一些数据导出到现有的excel文件。问题是,用户可以打开此文件。

为了阅读和写入Excel,我使用Microsoft.Office.Interop.Excel.

是否可以在Excel桌面应用中显示更改的编辑文件? 或者可以检查文件是否在Excel中打开?

这是我打开该文件的方式:

xlApp = new Excel.Application();
xlApp.DisplayAlerts = false;
workbook = xlApp.Workbooks;
xlWorkBook = workbook.Open(filePath, 0, false, 5, "", "", false, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", true, false, 0, true, false, false);
var worksheets = xlWorkBook.Worksheets;

而不是遍历所有工作表并使用向单元格写入值来填充数据

Excel.Worksheet xlWorkSheet = worksheets.get_Item(sheetIndex);
Excel.Range range = GetRange(xlWorkSheet);

range.Cells[row,column] = value;

然后我保存文件:

xlWorkBook.Save();

谢谢 的Jakub

1 个答案:

答案 0 :(得分:2)

整个魔法是:

            try
            {
                xlApp = (Excel.Application)System.Runtime.InteropServices.Marshal.GetActiveObject("Excel.Application");
            }
            catch (Exception ex)
            {
                if (ex.ToString().Contains("0x800401E3 (MK_E_UNAVAILABLE)"))
                {
                    xlApp = new Excel.Application();
                }
                else
                {
                    throw;
                }
            }

这将打开excel应用程序。然后在这个Excel实例中进行所有更改。所以一切都经过编辑,可以在打开的excel应用程序中看到。

谢谢你们