さけのさかなのブログ

同人ゲーム開発やってます。Unity使ったりする。

OpenXMLのラッピング

ゲーム開発にExcelを使うケースは結構ある。

そこでOpenXML…となるんだけど、これがそのまま使うにはだいぶしんどい。まずラップしないとやってられない。

というわけでそのためのクラスを作った。

github.com

細かい機能はない。Excelからの読み出しはシーケンシャルにできればとりあえず足りる。(まずは全セルをコピーすれば良い)

ファイルの書き出し機能は一応あるものの、今まで必要になったことはないんよな。

usage

using var fs = new FileStream(filename, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
using var document = SpreadsheetDocument.Open(fs, isEditable: false);
var doc = new Bonn.Document(document);
foreach (var sheet in doc.Sheets)
{
    foreach (var cell in sheet.Cells())
    {
        var c = cell.position.columnIndex;
        var r = cell.position.rowIndex;
        var value = cell.value;
    }
}

ClosedXML使えばいいんじゃんという話ではあり。