Excel コピー機能を使用すると、Excel ブック内のワークシートをコピーできるだけでなく、異なる Excel ブック間でワークシートをコピーすることもできます。 この記事では、C#、VB.NET の Spire.XLS for .NET を介して、1つの Excel ワークブック内およびさまざまなワークブック間でワークシートをコピーするためのソリューションを紹介します。さらに、元の Excel ワークシートのすべてのセル形式が完全に残ることができます。 Excel ワークブック内のワークシートをコピーする Excel ワークブック間でワークシートをコピーする Spire.XLS for.NET をインストールします まず、Spire.XLS for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。 PM> Install-Package Spire.XLS Excel ワークブック内のワークシートをコピーする 以下は、Excel ブック内でワークシートをコピーする手順です。 Workbook クラスのインスタンスを初期化します。 Workbook.LoadFromFile() メソッドを使用して Excel ファイルをロードします。 WorksheetCollection.Add() メソッドを使用して、新しい空白のシートをブックに追加します。 Worksheet.CopyFrom() メソッドを使用して、元のワークシートを新しいシートにコピーします。 Workbook.SaveToFile() メソッドを使用して、変更を別のファイルに保存します。 C# VB.NET using Spire.Xls; namespace CopyExcelworksheet { class Program { static void Main(string[] args) { //サンプルExcelをロードする Workbook workbook = new Workbook(); workbook.LoadFromFile("C:UsersAdministratorDesktopSample.xlsx"); //ワークシートを追加し、その名前を設定する workbook.Worksheets.Add("Sheet1_Copy"); //ワークシートを新しく追加されたワークシートにコピーする workbook.Worksheets[1].CopyFrom(workbook.Worksheets[0]); //Excelブックを保存する workbook.SaveToFile("Duplicatesheet.xlsx", ExcelVersion.Version2013); System.Diagnostics.Process.Start("Duplicatesheet.xlsx"); } } } Imports Spire.Xls Namespace CopyExcelworksheet Class Program Shared Sub Main(ByVal args() As String) 'サンプルExcelをロードする Dim workbook As Workbook = New Workbook() workbook.LoadFromFile("C:UsersAdministratorDesktopSample.xlsx") 'ワークシートを追加し、その名前を設定する workbook.Worksheets.Add("Sheet1_Copy") 'ワークシートを新しく追加されたワークシートにコピーする workbook.Worksheets(1).CopyFrom(workbook.Worksheets(0)) 'Excelブックを保存する workbook.SaveToFile("Duplicatesheet.xlsx", ExcelVersion.Version2013) System.Diagnostics.Process.Start("Duplicatesheet.xlsx") End Sub End Class End Namespace Excel ワークブック間でワークシートをコピーする 以下は、Excel ブック内でワークシートを複製する手順です。 Workbook クラスのインスタンスを初期化します。 Workbook.LoadFromFile() メソッドを使用して Excel ファイルをロードします。 最初のワークシートを入手します。 別の Excel サンプルドキュメントを読み込む WorksheetCollection.Add() メソッドを使用して、2番目のブックに新しい空白のシートを追加します。 Worksheet.CopyFrom() メソッドを使用して、元のワークシートを新しいシートにコピーします。 Workbook.SaveToFile() メソッドを使用して、変更を別のファイルに保存します。 C# VB.NET using Spire.Xls; namespace CopyExcelworksheet { class Program { static void Main(string[] args) { //サンプルExcelをロードし、最初のワークシートを取得する Workbook workbook = new Workbook(); workbook.LoadFromFile("C:UsersAdministratorDesktopSample.xlsx"); Worksheet sheet = workbook.Worksheets[0]; //2番目のExcelブックをロードする Workbook workbook2 = new Workbook(); workbook2.LoadFromFile("C:UsersAdministratorDesktopNew.xlsx"); //新しいワークシートを追加し、その名前を設定する Worksheet targetWorksheet = workbook2.Worksheets.Add("added"); //元のワークシートを新しく追加されたワークシートにコピーする targetWorksheet.CopyFrom(sheet); //Excelブックを保存する workbook2.SaveToFile("CopySheetBetweenWorkbooks.xlsx", FileFormat.Version2013); System.Diagnostics.Process.Start("CopySheetBetweenWorkbooks.xlsx"); } } } Imports Spire.Xls Namespace CopyExcelworksheet Class Program Shared Sub Main(ByVal args() As String) 'サンプルExcelをロードし、最初のワークシートを取得する Dim workbook As Workbook = New Workbook() workbook.LoadFromFile("C:UsersAdministratorDesktopSample.xlsx") Dim sheet As Worksheet = workbook.Worksheets(0) '2番目のExcelブックをロードする Dim workbook2 As Workbook = New Workbook() workbook2.LoadFromFile("C:UsersAdministratorDesktopNew.xlsx") '新しいワークシートを追加し、その名前を設定する Dim targetWorksheet As Worksheet = workbook2.Worksheets.Add("added") '元のワークシートを新しく追加されたワークシートにコピーする targetWorksheet.CopyFrom(sheet) 'Excelブックを保存する workbook2.SaveToFile("CopySheetBetweenWorkbooks.xlsx", FileFormat.Version2013) System.Diagnostics.Process.Start("CopySheetBetweenWorkbooks.xlsx") End Sub End Class End Namespace 一時ライセンスを申請する 結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。 にお問い合わせ、30 日間有効な一時ライセンスを取得してください。