Tôi cần phải sao chép một trang tính từ một sổ làm việc này sang sổ làm việc khác và tôi bị kẹt một chút. Tiền đề là tôi có sổ làm việc "chính" lưu trữ các mẫu cho một số báo cáo và sau đó tôi cần phải tạo một bản sao trống của một trang tính cụ thể và thêm nó vào một sổ làm việc mới.C# - Làm thế nào để sao chép một bảng tính Excel từ sổ làm việc này sang sổ làm việc khác?
Đây là những gì tôi có cho đến nay:
private void CreateNewWorkbook(Tables table)
{
Excel.Application app = null;
Excel.Workbook book = null;
Excel.Worksheet sheet = null;
try
{
string startPath = System.IO.Path.GetDirectoryName(System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName);
string filePath = System.IO.Path.Combine(startPath, "sal1011forms.xls");
Microsoft.Win32.SaveFileDialog sfd = new Microsoft.Win32.SaveFileDialog();
app = new Excel.Application();
book = app.Workbooks.Open(filePath);
sheet = (Excel.Worksheet)book.Worksheets.get_Item((int)table + 1);
sfd.AddExtension = true;
sfd.FileName = table.ToString() + ".xls";
sfd.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
if (sfd.ShowDialog() == true)
{
sheet.SaveAs(sfd.FileName);
}
}
finally
{
if (book != null)
{
book.Close();
}
if (app != null)
{
app.Quit();
}
this.ReleaseObject(sheet);
this.ReleaseObject(book);
this.ReleaseObject(app);
}
}
Vấn đề duy nhất mà tôi đang gặp vào lúc này là khi tôi gọi lệnh .save() trên bảng tính, nó tiết kiệm TẤT CẢ các bảng từ sổ làm việc gốc vào sổ làm việc mới. Bất kỳ ý tưởng về cách sửa lỗi này?
Cảm ơn trước,
Sonny