Excel Interop:如何将工作表复制到另一个工作簿?
Excel Interop: How to copy a worksheet to another workbook?
我需要将一些工作簿的工作表合并到一个新工作簿中。我试过的是这个,但我得到 "Unable to get the Copy property of the Worksheet class"。我究竟做错了什么?谢谢!
foreach (var sourceFileName in sourceFileNames)
{
var sourceWorkbook = GetWorkbook(sourceFileName);
var sourceSheet = (Worksheet)sourceWorkbook.Worksheets[1];
var lastSheetInDestinationWorkbook = (Worksheet)_destinationWorkbook.Worksheets[_destinationWorkbook.Worksheets.Count];
sourceSheet.Copy(After: lastSheetInDestinationWorkbook);
sourceWorkbook.Close();
}
((Worksheet)_workbook.Sheets[1]).Delete();
_workbook.Save();
我的错误是将工作簿加载到不同的应用程序对象中。使用相同的应用程序对象解决了问题。
感谢@HansPassant 指点我。
我需要将一些工作簿的工作表合并到一个新工作簿中。我试过的是这个,但我得到 "Unable to get the Copy property of the Worksheet class"。我究竟做错了什么?谢谢!
foreach (var sourceFileName in sourceFileNames)
{
var sourceWorkbook = GetWorkbook(sourceFileName);
var sourceSheet = (Worksheet)sourceWorkbook.Worksheets[1];
var lastSheetInDestinationWorkbook = (Worksheet)_destinationWorkbook.Worksheets[_destinationWorkbook.Worksheets.Count];
sourceSheet.Copy(After: lastSheetInDestinationWorkbook);
sourceWorkbook.Close();
}
((Worksheet)_workbook.Sheets[1]).Delete();
_workbook.Save();
我的错误是将工作簿加载到不同的应用程序对象中。使用相同的应用程序对象解决了问题。
感谢@HansPassant 指点我。