使用 Aspose.Cells 在 Excel 工作簿之間複製工作表

介紹

在 Excel 工作簿之間傳輸資料是 .NET 應用程式中的常見任務,尤其是在產生報表或管理範本時。幸運的是,使用 Aspose.Cells for .NET 讓這個過程變得簡單而有效率。在本教程中,我們將引導您完成將工作表從一個工作簿複製到另一個工作簿的步驟,從而為您提供對資料管理的強大控制。

先決條件

在我們開始之前,請確保您擁有以下工具:

  1. Aspose.Cells for .NET 函式庫:下載函式庫這裡.
  2. Visual Studio 或類似的 IDE:您將使用它來編寫和執行 .NET 程式碼。
  3. Aspose 許可證:要繞過評估限制,您可以申請免費試用或獲得臨時執照.

導入包

首先將必要的命名空間匯入到您的專案中:

using System.IO;
using Aspose.Cells;
using System;

這些命名空間將使您能夠存取有效操作 Excel 工作簿和工作表所需的類別。

第1步:設定目錄路徑

首先,定義儲存 Excel 工作簿的目錄。這將簡化以後的文件存取。

//設定文檔目錄的路徑。
string dataDir = "Your Document Directory";

代替"Your Document Directory"與你的實際路徑。

第 2 步:建立第一個工作簿

讓我們建立一個新工作簿並在其中新增一個工作表。

//建立一個新的工作簿。
Workbook excelWorkbook0 = new Workbook();
//存取工作簿中的第一個工作表。
Worksheet ws0 = excelWorkbook0.Worksheets[0];

第 3 步:新增標頭數據

使用標題行填入工作表以清楚表示您的資料集。

//填滿標題行 (A1:A4)。
for (int i = 0; i < 5; i++)
{
    ws0.Cells[i, 0].PutValue($"Header Row {i}");
}

步驟 4:填入詳細資料行

添加詳細內容以為您的工作表提供上下文。

//填入詳細資料行 (A5:A999)。
for (int i = 5; i < 1000; i++)
{
    ws0.Cells[i, 0].PutValue($"Detail Row {i}");
}

第 5 步:配置列印設定

設定頁面配置以在列印頁面上重複標題行,這對於大型報表特別有用。

//配置頁面設定以在每個頁面上重複標題行。
PageSetup pageSetup = ws0.PageSetup;
pageSetup.PrintTitleRows = "$1:$5";

第 6 步:建立第二個工作簿

接下來,建立將接收複製的工作表的第二個工作簿。

//建立另一個工作簿。
Workbook excelWorkbook1 = new Workbook();
//存取工作簿中的第一個工作表。
Worksheet ws1 = excelWorkbook1.Worksheets[0];

步驟 7:重新命名目標工作表

重新命名第二個工作簿中的工作表以便於識別。

//重新命名工作表。
ws1.Name = "MySheet";

步驟 8:將資料複製到目標工作表

利用Copy將整個工作表從第一個工作簿傳送到第二個工作簿的方法。

//將資料從第一個工作簿的第一個工作表複製到第二個工作簿的第一個工作表中。
ws1.Copy(ws0);

第 9 步:儲存最終工作簿

最後,儲存修改後的工作簿。

//儲存第二個工作簿。
excelWorkbook1.Save(dataDir + "CopyWorksheetFromWorkbookToOther_out.xls");

結論

現在你就擁有了!您可以使用 Aspose.Cells for .NET 輕鬆地將工作表從一個工作簿複製到另一個工作簿。此方法非常適合大型資料集、範本建立和報告生成。

常見問題解答

我可以一次複製多個工作表嗎?

是的,您可以迭代多個工作表並將它們單獨複製到另一個工作簿。

Aspose.Cells 在複製過程中保留格式嗎?

絕對地!這Copy方法保留所有格式和樣式。

如何存取複製的工作表中的特定儲存格?

您可以使用以下命令存取特定單元格Cells工作表中的屬性。

如果我只想複製值而不格式化怎麼辦?

如果您願意,您可以實現自訂方法來逐個單元格複製值。

我可以在沒有許可證的情況下測試此功能嗎?

是的,Aspose 提供了免費試用來探索它的特點。