0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

C#/VB.NET ワークシートをコピーする方法

Last updated at Posted at 2023-03-09

ワークシートのコピー機能は、類似した構造とフォーマットを持つシートを作成するためによく使用されます。これにより、繰り返し入力と書式設定の時間を大幅に削減することもできます。Free Spire.XLS for.NETライブラリは、同じワークブック内のシートのコピーと、異なるワークブック間のシートのコピーをサポートします。具体的なコピー方法とコードは以下を参照してください。

Free Spire.XLS for .NETをインストールする

方法1NuGetでFree Spire.XLS for .NETをインストールする
Visual Studioを開いて新しいプロジェクトを作成します。次に、「Solution Explorer」で「References」を右クリックし、「Nuget Manage Packages」を選択します。Free Spire.XLS for .NETを検索してインストールします。
方法2:手動でSpire.xls.dllを追加する
Free Spire.XLS for .NETをローカルにダウンロードしインストールします。次に、Visual Studioて新しいプロジェクトを作成し、右側の「Solution Explorer」で「References」を右クリックし、「Add Reference」>「Browse」を選択して、インストールパス下のBINフォルダのdllファイルを見つけ、「OK」をクリックして、プログラムに参照を追加します。

ワークブックでシートをコピーする

  • Workbook クラスのインスタンスを初期化します。
  • Workbook.LoadFromFile() メソッドを使用して Excel ファイルを読み込みます。
  • WorksheetCollection.Add() メソッドを使用して、新しい空白のシートをブックに追加します。
  • Worksheet.CopyFrom() メソッドを使用して、元のワークシートを新しいシートにコピーします。
  • Workbook.SaveToFile() メソッドを使用して、変更を別のファイルに保存します。

C#:

using Spire.Xls;

namespace CopyExcelworksheet
{
    class Program
    {
        static void Main(string[] args)
        {
            //サンプルExcelを読み込む
            Workbook workbook = new Workbook();
            workbook.LoadFromFile("sample1.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");

        }
    }
}

VB.Net:

Imports Spire.Xls
 
Namespace CopyExcelworksheet
    Class Program
        Shared  Sub Main(ByVal args() As String)
            'サンプルExcelを読み込む
            Dim workbook As Workbook =  New Workbook() 
            workbook.LoadFromFile("sample1.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

image.png

ワークブック間のシートをコピーする

  • Workbook クラスのインスタンスを初期化します。
  • Workbook.LoadFromFile() メソッドを使用して Excel ファイルを読み込みます。
  • 最初のワークシートを入手します。
  • 別の Excel サンプルドキュメントを読み込む
  • WorksheetCollection.Add() メソッドを使用して、2番目のブックに新しい空白のシートを追加します。
  • Worksheet.CopyFrom() メソッドを使用して、元のワークシートを新しいシートにコピーします。
  • Workbook.SaveToFile() メソッドを使用して、変更を別のファイルに保存します。

C#:

using Spire.Xls;

namespace CopyExcelworksheet
{
    class Program
    {
        static void Main(string[] args)
        {
            //サンプルExcelを読み込む、最初のワークシートを取得する
            Workbook workbook = new Workbook();
            workbook.LoadFromFile("sample1.xlsx");
            Worksheet sheet = workbook.Worksheets[0];
            //2番目のExcelブックを読み込む
            Workbook workbook2 = new Workbook();
            workbook2.LoadFromFile("sample2.xlsx");
            //新しいワークシートを追加し、その名前を設定する
            Worksheet targetWorksheet = workbook2.Worksheets.Add("added");
            //元のワークシートを新しく追加されたワークシートにコピーする
            targetWorksheet.CopyFrom(sheet);
            //Excelブックを保存する
            workbook2.SaveToFile("CopySheetBetweenWorkbooks.xlsx", FileFormat.Version2013);
            System.Diagnostics.Process.Start("CopySheetBetweenWorkbooks.xlsx");

        }
    }
}

VB.Net:

Imports Spire.Xls
 
Namespace CopyExcelworksheet
    Class Program
        Shared  Sub Main(ByVal args() As String)
            'サンプルExcelを読み込む、最初のワークシートを取得する
            Dim workbook As Workbook =  New Workbook() 
            workbook.LoadFromFile("sample1.xlsx")
            Dim sheet As Worksheet =  workbook.Worksheets(0) 
            '2番目のExcelブックを読み込む
            Dim workbook2 As Workbook =  New Workbook() 
            workbook2.LoadFromFile("sample2.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

image.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?