Я связал приложение, которое получает данные из API, я открываю лист, когда новый контракт загружается в программу. Теперь я пытаюсь записать новые данные на листе excel позже в программе, когда я собираю новые данные.Найти и отредактировать открыть лист Excel с помощью interop
Я знаю, как писать данные на листе 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' в качестве аргумента в оба метода (я предполагаю, что по void вы имеете в виду метод без возвращаемого значения) – pquest