Я использую C# Windows Формы.
Цель:
Если у меня несколько листов Excel.
Например, "Sheet1, Sheet2, Sheet3, TestSheet1, TestSheet2"
Как мне получить указанное c имя листа, например, ["Sheet2"]
и сохранить его как новую книгу Excel?
Это то, что у меня есть:
Нажатие кнопки:
private void button1_Click(object sender, EventArgs e)
{
Microsoft.Office.Interop.Excel.Application excelApp = new Microsoft.Office.Interop.Excel.Application();
Microsoft.Office.Interop.Excel.Workbook excelBook = excelApp.Workbooks.Open("C:\Users\LV98\Desktop\Test C#\excel_file.xlsx");
excelBook.Worksheets.Copy("Sheet2");
}
Обновление:
Вот куда я попал.
private void button1_Click(object sender, EventArgs e)
{
Excel.Application excelApp;
string fileTarget = "C:\\Users\\LV98\\Desktop\\Test C#\\template.xlsx";
string fileTemplate = "C:\\Users\\LV98\\Desktop\\Test C#\\excel_file.xlsx";
excelApp = new Excel.Application();
Excel.Workbook wbTarget;
Excel.Worksheet sh;
//Create target workbook
wbTarget = excelApp.Workbooks.Open(fileTemplate);
//Fill target workbook
//Open the template sheet
sh = wbTarget.Worksheets["Sheet2"];
sh.Copy(wbTarget.Worksheets[1]);
//Save file
wbTarget.SaveAs(fileTarget);
wbTarget.Close(true);
excelApp.Quit();
}
Когда я открываю новый файл Excel, он открывает «Sheet2», именно то, что я был после! Но единственная проблема в том, что сохраняются и другие листы ... Я буду переименовывать новый лист и удалять остальные.