はじめに
エクセルファイルに複数行まとめて書き込む方法を説明します。
使用するライブラリはEPPLUSです。
データ量が多い場合に1セルずつ書き込むと、処理が重たくなります。
そのため、1回の書き込みで複数行まとめて書き込むことで、速度の向上が見込めます。
もちろん、1行ずつ書き込むことも可能です。
概要
カンマ区切りの文字列をエクセルの1行として書き込みます。
カンマで区切られた文字列の値が1セルに書き込まれます。
デフォルトでは区切り文字はカンマですが、区切り文字を変更することも可能です。
タブ区切りの文字列を書き込む方法も説明します。
説明
class Sample
{
static void Main(string[] args)
{
FileInfo newFile = new FileInfo("sample.xlsx");
using (ExcelPackage package = new ExcelPackage(newFile))
{
// ワークシートを1枚追加
ExcelWorksheet sheet = package.Workbook.Worksheets.Add("書き込み対象のシート名");
// エクセルの1行目に書き込むデータ
string inputData1 = "A1, B1, C1, D1, E1";
// A1セルを先頭に1行書き込む
sheet.Cells["A1"].LoadFromText(inputData1);
// エクセルの3行目、4行目に書き込むデータ
string inputData2 = "A3, B3, C3, D3, E3\nA4, B4, C4, D4, E4";
// A3セルを先頭に2行書き込む
sheet.Cells["A3"].LoadFromText(inputData2);
// タブ区切りのデータ
string inputData3 = "A6\tB6\tC6\tD6\tE6";
// タブ区切りの文字列を書き込む場合は、delimiterを指定する(A6セル:R1C1形式で範囲指定)
sheet.Cells[1,6].LoadFromText(inputData3, new ExcelTextFormat() {Delimiter='\t'});
// 保存
package.Save();
}
}
}