0
我已经链接了一个从API获取数据的应用程序,当我将一个新合同加载到程序时打开工作表。现在,我正在试图在收集新数据时在程序的后期将新数据写入Excel表。使用互操作查找并编辑打开的Excel工作表
我知道如何将数据写入Excel工作表以及如何打开我想要写入的工作表。问题是我不知道如何写入表单,一旦它已经打开,我所能做的就是打开表单的另一个实例。
我需要能够打开一个无效的工作表,然后更新现在打开的工作表在以后的空白。如何检查表单是否打开,以及是否再次访问它以向其写入更多数据?
这里是我已经打开的Excel,
Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application();
Console.WriteLine("Opening Excel...");
if (xlApp == null)
{
Console.WriteLine("EXCEL could not be started. Check that your office installation and project references are correct.");
return;
}
xlApp.Visible = true;
Workbook wb = xlApp.Workbooks.Open(@"C:\Users\Craig Key\Desktop\AppExports\TestExport.xlsx");
Console.WriteLine("Opening Currently Linked Workbook...");
Worksheet ws = (Worksheet)wb.ActiveSheet;
Console.WriteLine("Opening Active Worksheet...");
if (ws == null)
{
Console.WriteLine("Worksheet could not be created. Check that your office installation and project references are correct.");
}
现在以后我需要稍后在程序中找到xlApp
写一遍,而无需打开该文件的另一个实例。
相关? http://stackoverflow.com/questions/6682678/accessing-an-open-excel-workbook-in-c-sharp – grek40
为什么不把你的'xlApp'作为参数传递给这两种方法(我假设你的意思是无效的方法没有返回值) – pquest