Aspose.Cells を使用して 2 つのワークブック間でワークシートをコピーする

導入

Excel ファイルをプログラムで管理することは、ビジネス プロセスでのデータ処理を自動化するために必要不可欠なものとなっています。分析アプリを構築する開発者でも、レポートを自動化しようとしているビジネス アナリストでも、Aspose.Cells for .NET は、Excel ファイルを簡単に操作するための強力なツールキットを提供します。このチュートリアルでは、Aspose.Cells for .NET を使用して 2 つのワークブック間でワークシートをコピーする方法を説明します。前提条件、インポート パッケージ、およびわかりやすい詳細なステップ バイ ステップ ガイドについて説明します。

前提条件

コーディングを始める前に、必要なものがすべて揃っていることを確認しましょう。

パッケージのインポート

まず、コードに必要な名前空間をインポートする必要があります。手順は次のとおりです。

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

この 1 行で、Aspose.Cells の強力な機能すべてにアクセスできます。 このチュートリアルでは、タスクを管理しやすいステップに分割します。各ステップは前のステップに基づいて構築されるため、最後には完全で機能するコード スニペットが作成されます。

ステップ1: ドキュメントディレクトリを定義する

まず、ワークブック ファイルが保存されているパスを指定しましょう。このパスは、プログラムにソース ワークブックの場所とコピーされたファイルの保存場所を伝えます。

//ドキュメント ディレクトリへのパス。
string dataDir = "Your Document Directory";

ここで、"Your Document Directory"ファイルが保存されている実際のパスを入力します。

ステップ2: 入力ファイルのパスを設定する

このステップでは、コピーしたいワークシートを含む元のワークブックへのパスを定義します。デモでは、ファイル名がbook1.xls.

string inputPath = dataDir + "book1.xls";

このラインはdataDirファイル名に完全なパスを追加してbook1.xlsこれは、コピーするシートが含まれているワークブックです。

ステップ3: ソースブックを開く

それでは、ソースブック(book1.xls )を作成してWorkbookオブジェクトと渡すinputPath議論として。

//ワークブックを作成します。
//最初のブックにファイルを開きます。
Workbook sourceWorkbook = new Workbook(inputPath);

ここで初期化しますsourceWorkbookソース ワークブックを表します。このオブジェクトを使用すると、ファイル内のすべてのワークシートにアクセスできます。

ステップ4: 宛先ワークブックを作成する

この手順では、コピーしたワークシートの保存先となる新しいワークブックを作成します。これは、コピーしたシートを貼り付ける空白の領域として機能します。

//別のワークブックを作成します。
Workbook destinationWorkbook = new Workbook();

私たちのdestinationWorkbookデフォルトでは空で、1 つのワークシートのみが含まれます。

ステップ5: ワークシートを新しいワークブックにコピーする

ここで、このチュートリアルの核心であるワークシートのコピーを行います。ソース ワークブックから最初のワークシートをコピーし、コピー先のワークブックの最初のワークシート スロットに貼り付けます。

//ソース ブックの最初のシートを宛先ブックにコピーします。
destinationWorkbook.Worksheets[0].Copy(sourceWorkbook.Worksheets[0]);

このコードでは:

  • sourceWorkbook.Worksheets[0]ソース ブックの最初のワークシートを表します。
  • destinationWorkbook.Worksheets[0]宛先ブックの最初のワークシートを参照します。
  • .Copyメソッドは、ワークシートを 1 つのワークブックから別のワークブックにシームレスに転送するという面倒な処理を実行します。

ステップ6: 保存先のワークブックを保存する

最後に、コピー先のワークブックを保存します。これにより、コピー処理が完了し、コピーされたワークシートを含む出力ファイルが作成されます。

//ファイルを保存します。
destinationWorkbook.Save(dataDir + "CopyWorksheetsBetweenWorkbooks_out.xls");

交換する"CopyWorksheetsBetweenWorkbooks_out.xls"希望する出力ファイル名で保存します。これで、コピーされたワークシートを含む新しいファイルが指定したディレクトリに作成されます。

結論

おめでとうございます! Aspose.Cells for .NET を使用して、ワークシートをあるワークブックから別のワークブックにコピーできました。わずか数行のコードで、複数のワークブック間でのワークシートの複製を自動化し、時間を節約してエラーを減らすことができます。Aspose.Cells は、Excel ファイルの操作を効率化する強力なツールで、単純なデータ自動化タスクと複雑なデータ自動化タスクの両方に最適です。

よくある質問

複数のワークシートを一度にコピーできますか?

はい、ソース ブック内のワークシートをループし、各ワークシートを個別に宛先ブックにコピーできます。

ワークシートをコピーすると、すべての書式とデータが転送されますか?

絶対に!.Copy Aspose.Cells のメソッドは、データ、書式設定、数式などすべてを転送します。

ワークシートを既存のワークブックにコピーすることは可能ですか?

はい、コピー先のワークブックのワークシート インデックスを指定して、ワークシートを既存のワークブックにコピーできます。

コピーしたワークシートの名前を変更できますか?

もちろんです!コピーした後はdestinationWorkbook.Worksheets[0].Name = "NewSheetName";ワークシートの名前を変更します。

Aspose.Cells を使用するにはライセンスが必要ですか?

Aspose.Cellsを試してみるには無料の一時ライセンスまたは、無制限のアクセスのためにフルライセンスを購入してください。