我使用Visual Studio 2010办公模板(适用于excel 2007)创建了一个项目。它的工作正常。我在ThisWorkbook_Startup()方法中执行我的计算,该方法正在Startup事件中使用,定义为
#region VSTO Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InternalStartup()
{
this.Startup += new System.EventHandler(ThisWorkbook_Startup);
this.Shutdown += new System.EventHandler(ThisWorkbook_Shutdown);
}
#endregion
我正在使用Global.Sheet1,Global.Sheet2和Global.Sheet3在excel模板中写入数据并将其传递给我的自定义方法WriteExcel(Globals.Sheet1,Globals.Sheet2,Globals.Sheet3);
我想在我的另一个.net项目中使用这个dll,而我这样做的初始化Globals.Sheet1,Globals.Sheet2,Globals.Sheet3属性为null,这是不期望的。 如何在全局属性上获取命令以使用定义的模板打开和写入数据。
答案 0 :(得分:0)
您需要使用Excel对象模型方法和属性。 VSTO加载项之外没有Global类(仅属于VSTO运行时)。
看起来您需要从其他应用程序自动化Excel。有关详细信息,请参阅How to automate Microsoft Excel from Microsoft Visual C#.NET。
例如,您可以在Workbook和Applications类中找到Worksheets属性。