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# EPPlus】Excelに複数行まとめて書き込む方法

Last updated at Posted at 2022-12-31

はじめに

エクセルファイルに複数行まとめて書き込む方法を説明します。
使用するライブラリは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();
        }
    }
}

出力結果

スクリーンショット 2022-12-31 13.29.04.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?