C# ClosedXMLでEXCLEファイルを作成する
C#で、ClosedXMLでEXCLEファイルを作成するサンプルコードを記述してます。
環境
- OS windows10 pro 64bit
- .net core 3.1
- Microsoft Visual Studio Community 2019 Version 16.7.1
ClosedXMLでEXCLEファイルを作成
ClosedXMLでEXCLEファイルを作成するには、まずはnugetで入手します。
※xls形式のデータは扱えません。
Install-Package ClosedXML
以下は、ClosedXMLを使用してEXCLEファイルを作成するだけのコードとなります。
using System;
using System.IO;
using ClosedXML.Excel;
namespace testapp
{
class Program
{
static void Main(string[] args)
{
try
{
// xls形式のデータは扱えない
var path = @"C:\excel\test.xlsx";
using (var workbook = new XLWorkbook())
{
// シートを生成
var worksheet = workbook.Worksheets.Add("testシート");
// セルに値を挿入
worksheet.Cell("A1").Value = "A1";
worksheet.Cell(2, 1).Value = "A2";
worksheet.Cell(3, 1).Value = "A3";
// 範囲を指定
worksheet.Range(1, 2, 3, 2).Value = 3;
// 背景色を設定
worksheet.Range(1, 2, 3, 2).Style.Fill.BackgroundColor = XLColor.SkyBlue;
// 内側に罫線を引く
worksheet.Range(1, 2, 3, 2).Style.Border.InsideBorder = XLBorderStyleValues.Thin;
// 外側に罫線を引く
worksheet.Range(1, 2, 3, 2).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
// SUM関数を使用
worksheet.Cell(4, 2).FormulaA1 = "SUM(B1:B3)";
// 計算結果を取得
var sum = worksheet.Evaluate("SUM(A1:A3)");
Console.WriteLine(sum);
// 保存
workbook.SaveAs(path);
}
}
catch (IOException e)
{
System.Console.WriteLine("ファイルが開かれています" + e.ToString());
}
catch (Exception e)
{
System.Console.WriteLine(e.ToString());
}
}
}
}
実行結果
また作成した「test.xlsx」を開いたまま実行すると「IOException」が発生します。
System.IO.IOException: The process cannot access the file 'C:\excel\test.xlsx' because it is being used by another process
ss.
at System.IO.FileSystem.DeleteFile(String fullPath)
at System.IO.File.Delete(String path)
at ClosedXML.Excel.XLWorkbook.SaveAs(String file, SaveOptions options)
at ClosedXML.Excel.XLWorkbook.SaveAs(String file, Boolean validate, Boolean evaluateFormulae)
at ClosedXML.Excel.XLWorkbook.SaveAs(String file)
-
前の記事
SQL Server AVGの実行結果を少数まで取得する 2021.10.01
-
次の記事
SQL Server 左右の全角の空白を除去する 2021.10.01
コメントを書く