【发布时间】:2017-03-14 02:46:40
【问题描述】:
我已经链接了一个从 API 获取数据的应用程序,我在将新合同加载到程序时打开了工作表。现在,当我收集新数据时,我正在尝试稍后在程序中将新数据写入 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 并再次写入它,而无需打开文件的另一个实例。
【问题讨论】:
-
为什么不将您的
xlApp作为参数传递给这两种方法(我假设您所说的 void 是指没有返回值的方法)