Excel管理控件Aspose.Cells开发者指南(二十八):复制和移动工作表
Aspose.Cells for .NET是Excel电子表格编程API,可加快电子表格管理和处理任务,支持构建具有生成,修改,转换,呈现和打印电子表格功能的跨平台应用程序。
在接下来的系列教程中,将为开发者带来Aspose.Cells for .NET的一系列使用教程,例如关于加载保存转换、字体、渲染、绘图、智能标记等等。本文重点介绍如何复制和移动工作表。
>>Aspose.Cells for .NET已经更新至v20.4,支持多个单元作为范围的并集,添加用于更新PowerQueryFormulaItems的源字段的选项,支持ODS的数据栏,色标和图标集条件格式,修复诸多Bug,点击下载体验
第七章:关于工作表的使用
▲第一节:复制和移动工作表
有时,需要大量具有通用格式和数据的工作表。例如,如果使用季度预算,则可能要创建一个工作簿,其工作表包含相同的列标题,行标题和公式。有一种方法可以做到:创建一张纸,然后复制它。
Aspose.Cells支持在工作簿内部或之间复制和移动工作表。包含数据,格式,表格,矩阵,图表,图像和其他对象的工作表将以最高的精确度进行复制。
使用Aspose.Cells在工作簿中复制工作表
Aspose.Cells提供了一个重载方法Aspose.Cells.WorksheetCollection.AddCopy(),该方法用于将工作表添加到集合中并从现有工作表中复制数据。该方法的一种版本将源工作表的索引作为参数。另一个版本采用源工作表的名称。
下面的示例演示如何在工作簿中复制现有工作表。
// 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()方法, 用于将数据和格式从源工作表复制到工作簿内部或工作簿之间。该方法将源工作表对象作为参数。
下面的示例演示如何将工作表从一个工作簿复制到另一工作簿。
// 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");
下面的示例演示如何将工作表从一个工作簿复制到另一个。
// 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()方法,该方法用于将工作表移动到同一电子表格中的另一个位置。该方法将目标工作表索引作为参数。
下面的示例演示如何将工作表移动到工作簿中的另一个位置。
// 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");
Aspose是目前国内外非常火爆且功能强大的文件格式敏捷开发控件,但因为产品众多、技术问题复杂等因素,也常常遭受开发人员吐槽。如果您也正在使用Aspose相关产品,点击下方按钮,来谈谈Aspose的优劣,您的感受对我们相当宝贵哦~