普通にExcelドキュメントを使って仕事をしているとき、常に複数のファイルを作成、使用しなければなりません、そして、多くのドキュメントを一つにマージする場合もあります。Excelをマージする日常的な方法は、通常、次の2つのタイプに分けられます。
複数のExcelファイルを1つのファイルにマージする
複数のExcelファイルを1つのワークシートにマージする
この記事では、C#および.NET ExcelコンポーネントのSpire.XLSを使用して、上記の2つの方法でExcelファイルをマージする方法を紹介します。
複数のExcelファイルを1つのファイルにマージする
コード一覧
using Spire.Xls;
namespace Merge
{
class Program
{
static void Main(string[] args)
{
//新しいブックオブジェクトを作成する
Workbook newbook = new Workbook();
newbook.Version = ExcelVersion.Version2013;
//ドキュメント内のワークシートを削除する(新しく作成されたドキュメントには、デフォルトで3つのワークシートが含まれている)
newbook.Worksheets.Clear();
//マージするに必要なExcelドキュメントをロードするための一時的なブックを作成する
Workbook tempbook = new Workbook();
//配列にマージする必要のあるExcelドキュメント名を保存する
string[] excelFiles = new string[] { "C:\\Users\\Administrator\\Desktop\\1.xlsx", "C:\\Users\\Administrator\\Desktop\\2.xlsx" };
//配列をトラバースする
for (int i = 0; i < excelFiles.Length; i++)
{
//Excelドキュメントをロードする
tempbook.LoadFromFile(excelFiles[i]);
//AddCopyメソッドを使用して、ドキュメント内のすべてのワークシートを新しいブックに追加する
foreach (Worksheet sheet in tempbook.Worksheets)
{
newbook.Worksheets.AddCopy(sheet);
}
}
//ドキュメントを保存する
newbook.SaveToFile("MergeFiles.xlsx", ExcelVersion.Version2013);
}
}
}
複数のExcelファイルを1つのワークシートにマージする
コード一覧
using Spire.Xls;
using System.Data;
namespace Merge
{
class Program
{
static void Main(string[] args)
{
string[] excelFiles = new string[] { "C:\\Users\\Administrator\\Desktop\\1.xlsx", "C:\\Users\\Administrator\\Desktop\\2.xlsx", "C:\\Users\\Administrator\\Desktop\\3.xlsx" };
Workbook workbook1 = new Workbook();
//一番目のExcelドキュメントをロードする
workbook1.LoadFromFile(excelFiles[0]);
//二番目のExcelドキュメントをロードする
Workbook workbook2 = new Workbook();
workbook2.LoadFromFile(excelFiles[1]);
//三番目のExcelドキュメントをロードする
Workbook workbook3 = new Workbook();
workbook3.LoadFromFile(excelFiles[2]);
//最初のファイルの一番目のシートを取得する
Worksheet sheet1 = workbook1.Worksheets[0];
//2番目と3番目のExcelファイルのワークシートをdatatableを介して最初のファイルの一番目のワークシートに挿入する
Worksheet sheet2 = workbook2.Worksheets[0];
DataTable dataTable1 = sheet2.ExportDataTable();
Worksheet sheet3 = workbook3.Worksheets[0];
DataTable dataTable2 = sheet3.ExportDataTable();
sheet1.InsertDataTable(dataTable1, true, sheet1.LastRow + 1, 1);
sheet1.InsertDataTable(dataTable2, true, sheet1.LastRow + 1, 1);
//ドキュメントを保存する
workbook1.SaveToFile("Merged.xlsx", ExcelVersion.Version2013);
}
}
}
今回のExcelファイルのマージする方法は以上でした、最後まで読んでいただきありがとうございます。