Excel管理控件Aspose.Cells開(kāi)發(fā)者指南(二十八):復(fù)制和移動(dòng)工作表
Aspose.Cells for .NET是Excel電子表格編程API,可加快電子表格管理和處理任務(wù),支持構(gòu)建具有生成,修改,轉(zhuǎn)換,呈現(xiàn)和打印電子表格功能的跨平臺(tái)應(yīng)用程序。
在接下來(lái)的系列教程中,將為開(kāi)發(fā)者帶來(lái)Aspose.Cells for .NET的一系列使用教程,例如關(guān)于加載保存轉(zhuǎn)換、字體、渲染、繪圖、智能標(biāo)記等等。本文重點(diǎn)介紹如何復(fù)制和移動(dòng)工作表。
>>Aspose.Cells for .NET已經(jīng)更新至v20.4,支持多個(gè)單元作為范圍的并集,添加用于更新PowerQueryFormulaItems的源字段的選項(xiàng),支持ODS的數(shù)據(jù)欄,色標(biāo)和圖標(biāo)集條件格式,修復(fù)諸多Bug,點(diǎn)擊下載體驗(yàn)
第七章:關(guān)于工作表的使用
▲第一節(jié):復(fù)制和移動(dòng)工作表
有時(shí),需要大量具有通用格式和數(shù)據(jù)的工作表。例如,如果使用季度預(yù)算,則可能要?jiǎng)?chuàng)建一個(gè)工作簿,其工作表包含相同的列標(biāo)題,行標(biāo)題和公式。有一種方法可以做到:創(chuàng)建一張紙,然后復(fù)制它。
Aspose.Cells支持在工作簿內(nèi)部或之間復(fù)制和移動(dòng)工作表。包含數(shù)據(jù),格式,表格,矩陣,圖表,圖像和其他對(duì)象的工作表將以最高的精確度進(jìn)行復(fù)制。
使用Aspose.Cells在工作簿中復(fù)制工作表
Aspose.Cells提供了一個(gè)重載方法Aspose.Cells.WorksheetCollection.AddCopy(),該方法用于將工作表添加到集合中并從現(xiàn)有工作表中復(fù)制數(shù)據(jù)。該方法的一種版本將源工作表的索引作為參數(shù)。另一個(gè)版本采用源工作表的名稱。
下面的示例演示如何在工作簿中復(fù)制現(xiàn)有工作表。
// 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");
在工作簿之間復(fù)制工作表
Aspose.Cells提供了一種Aspose.Cells.Worksheet.Copy()方法, 用于將數(shù)據(jù)和格式從源工作表復(fù)制到工作簿內(nèi)部或工作簿之間。該方法將源工作表對(duì)象作為參數(shù)。
下面的示例演示如何將工作表從一個(gè)工作簿復(fù)制到另一工作簿。
// 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");
下面的示例演示如何將工作表從一個(gè)工作簿復(fù)制到另一個(gè)。
// 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");
在工作簿中移動(dòng)工作表
Aspose.Cells提供了一種Aspose.Cells.Worksheet.MoveTo()方法,該方法用于將工作表移動(dòng)到同一電子表格中的另一個(gè)位置。該方法將目標(biāo)工作表索引作為參數(shù)。
下面的示例演示如何將工作表移動(dòng)到工作簿中的另一個(gè)位置。
// 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是目前國(guó)內(nèi)外非?;鸨夜δ軓?qiáng)大的文件格式敏捷開(kāi)發(fā)控件,但因?yàn)楫a(chǎn)品眾多、技術(shù)問(wèn)題復(fù)雜等因素,也常常遭受開(kāi)發(fā)人員吐槽。如果您也正在使用Aspose相關(guān)產(chǎn)品,點(diǎn)擊下方按鈕,來(lái)談?wù)凙spose的優(yōu)劣,您的感受對(duì)我們相當(dāng)寶貴哦~