复制和移动工作表
有时,您确实需要一些具有共同格式和数据的工作表。例如,如果您在季度预算上工作,您可能希望创建一个包含具有相同列标题、行标题和公式的工作表的工作簿。有一种方法可以做到这一点:先创建一个工作表,然后进行复制。
Aspose.Cells 支持在工作簿内部或工作簿之间复制和移动工作表。工作表完整地包括数据、格式、表、矩阵、图表、图像和其他对象,因此精度很高。
使用Microsoft Excel移动或复制工作表
以下是在Microsoft Excel中在工作簿内部或不同工作簿之间复制和移动工作表所涉及的步骤。
- 要将工作表移动或复制到另一个工作簿中,请打开将要接收工作表的工作簿。
- 切换到包含您想要移动或复制的工作表的工作簿,然后选择这些工作表。
- 在“编辑”菜单上,单击“移动或复制工作表”
- 在“选择工作簿”对话框中,单击要接收工作表的工作簿。
- 要将所选工作表移动或复制到新工作簿中,请单击“新建工作簿”
- 在“工作表之前”框中,单击要在其之前插入移动或复制的工作表。
- 要复制工作表而不是移动它们,请选择“创建副本”复选框。
在Aspose.Cells中复制工作表
Aspose.Cells提供了一个重载方法,Aspose.Cells.WorksheetCollection.AddCopy(),用于将工作表添加到集合并从现有工作表复制数据。该方法的一个版本将源工作表的索引作为参数。另一个版本将源工作表的名称作为参数。
以下示例显示了如何在工作簿内复制现有工作表。
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
string InputPath = dataDir + "book1.xls"; | |
// Open an existing Excel file. | |
Workbook wb = new Workbook(InputPath); | |
// Create a Worksheets object with reference to | |
// the sheets of the Workbook. | |
WorksheetCollection sheets = wb.Worksheets; | |
// Copy data to a new sheet from an existing | |
// sheet within the Workbook. | |
sheets.AddCopy("Sheet1"); | |
// Save the Excel file. | |
wb.Save(dataDir + "CopyWithinWorkbook_out.xls"); |
在工作簿之间复制工作表
Aspose.Cells提供了一个方法,Aspose.Cells.Worksheet.Copy() 用于在工作簿内或不同工作簿之间从源工作表复制数据和格式。该方法将源工作表对象作为参数。
以下示例显示了如何将一个工作表从一个工作簿复制到另一个工作簿。
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
string InputPath = dataDir + "book1.xls"; | |
// Create a Workbook. | |
// Open a file into the first book. | |
Workbook excelWorkbook0 = new Workbook(InputPath); | |
// Create another Workbook. | |
Workbook excelWorkbook1 = new Workbook(); | |
// Copy the first sheet of the first book into second book. | |
excelWorkbook1.Worksheets[0].Copy(excelWorkbook0.Worksheets[0]); | |
// Save the file. | |
excelWorkbook1.Save(dataDir + "CopyWorksheetsBetweenWorkbooks_out.xls"); |
以下示例显示了如何将一个工作表从一个工作簿复制到另一个。
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
// Create a new Workbook. | |
Workbook excelWorkbook0 = new Workbook(); | |
// Get the first worksheet in the book. | |
Worksheet ws0 = excelWorkbook0.Worksheets[0]; | |
// Put some data into header rows (A1:A4) | |
for (int i = 0; i < 5; i++) | |
{ | |
ws0.Cells[i, 0].PutValue(string.Format("Header Row {0}", i)); | |
} | |
// Put some detail data (A5:A999) | |
for (int i = 5; i < 1000; i++) | |
{ | |
ws0.Cells[i, 0].PutValue(string.Format("Detail Row {0}", i)); | |
} | |
// Define a pagesetup object based on the first worksheet. | |
PageSetup pagesetup = ws0.PageSetup; | |
// The first five rows are repeated in each page... | |
// It can be seen in print preview. | |
pagesetup.PrintTitleRows = "$1:$5"; | |
// Create another Workbook. | |
Workbook excelWorkbook1 = new Workbook(); | |
// Get the first worksheet in the book. | |
Worksheet ws1 = excelWorkbook1.Worksheets[0]; | |
// Name the worksheet. | |
ws1.Name = "MySheet"; | |
// Copy data from the first worksheet of the first workbook into the | |
// first worksheet of the second workbook. | |
ws1.Copy(ws0); | |
// Save the excel file. | |
excelWorkbook1.Save(dataDir + "CopyWorksheetFromWorkbookToOther_out.xls"); |
在工作簿内部移动工作表
Aspose.Cells提供了一个方法Aspose.Cells.Worksheet.MoveTo(),用于将工作表移动到同一电子表中的另一个位置。该方法将目标工作表索引作为参数。
以下示例显示了如何将工作表移动到工作簿内的另一个位置。
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
string InputPath = dataDir + "book1.xls"; | |
// Open an existing excel file. | |
Workbook wb = new Workbook(InputPath); | |
// Create a Worksheets object with reference to | |
// the sheets of the Workbook. | |
WorksheetCollection sheets = wb.Worksheets; | |
// Get the first worksheet. | |
Worksheet worksheet = sheets[0]; | |
// Move the first sheet to the third position in the workbook. | |
worksheet.MoveTo(2); | |
// Save the excel file. | |
wb.Save(dataDir + "MoveWorksheet_out.xls"); |