Для копирования Excel файла при помощи C# и WinForms, нужно использовать библиотеку Interop Excel, которая предоставляется Microsoft Office для взаимодействия с Excel.
Первым шагом нужно добавить ссылку на библиотеку Interop Excel в проект:
1. Откройте "Solution Explorer" в Visual Studio.
2. Выберите проект WinForms, правой кнопкой мыши нажмите на "References" и выберите "Add Reference".
3. Переключитесь на вкладку "COM", найдите и выберите "Microsoft Excel Object Library", затем нажмите "OK".
Теперь вы можете использовать функции Interop Excel для копирования файла.
Вот пример кода:
using Excel = Microsoft.Office.Interop.Excel; namespace YourNamespace { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void buttonCopy_Click(object sender, EventArgs e) { Excel.Application excelApp = new Excel.Application(); // Открываем исходный файл Excel.Workbook sourceWorkbook = excelApp.Workbooks.Open(@"путь_к_исходному_файлу.xlsx"); // Создаем новую копию Excel.Workbook copyWorkbook = sourceWorkbook.Copy(); // Сохраняем копию файла copyWorkbook.SaveAs(@"путь_к_копии_файла.xlsx"); // Закрываем файлы copyWorkbook.Close(); sourceWorkbook.Close(); // Закрываем приложение Excel excelApp.Quit(); } } }
В данном примере, при нажатии на кнопку "Copy", происходит открытие исходного файла, создание новой копии и сохранение ее по указанному пути. Затем файлы закрываются, а приложение Excel завершается.
Обратите внимание, что для работы с Excel используется COM-интероп, поэтому на компьютере должен быть установлен Microsoft Excel. Также не забудьте добавить директиву using Excel = Microsoft.Office.Interop.Excel;
в начале кода для удобства использования классов из библиотеки Interop Excel.