在应用程序中打开,保存和编辑嵌入式Excel工作表

时间:2017-12-20 13:39:59

标签: c# excel embed ole

我已经设法在这两个示例的帮助下将excel表格嵌入到我的Windows窗体应用程序中: Example 1Example 2

这些例子几乎都是直接复制的。 但是,我还没有理解如何通过代码操作excel应用程序/窗口。我的意思是我需要能够:

  • 显示/隐藏Excel工具栏(示例1中的功能对我不起作用。)
  • 保护表
  • 将单元格区域保存为.csv(alt。运行excel宏)
  • 在显示不同的Excel文件之间进行更改。

那些也不错的事情:

  • 加载Excel工作表时,每次都不显示打开/保存对话框窗口。
  • 在加载新工作簿时处理excel工作簿以避免错误的好方法"当同名的excel文件已经打开时,无法打开excel文件。"

到目前为止我的想法。
我非常确定在某种程度上我需要将活动工作表/工作簿附加到具有我需要所需属性的全局变量。然而,到目前为止,当我尝试过类似的东西时,我通常会得到一个参考缺失错误或类似的东西,即使我认为我做的是正确的事情。

private void button2_Click(object sender, EventArgs e)
    {
        // this.excelWrapper1.GetActiveWorkbook(FileName).Protect();
        //wb.Protect();
        //this.excelWrapper1.m_Workbook.Protect();
        Microsoft.Office.Interop.Excel.Application app = (Microsoft.Office.Interop.Excel.Application)Marshal.GetActiveObject("Excel.Application");
        app.ThisWorkbook.Protect(); // Doesn't work
    }

使用此代码我得到了:

'System.Runtime.InteropServices.COMException' occurred in EmbeddedExcel.exe
Exception from HRESULT: 0x800A03EC

提前谢谢!

注意:我无法使用付费软件来完成我需要的工作。免费很好。

0 个答案:

没有答案