ExcelCreator 基本操作

公式の関数一覧みたいなのしかなさそうなので簡単に紹介。

ExcelCreatorは、テンプレートとなるExcelファイルを読み込み、表操作を行って新しいExcelファイルとして出力します。

インストール後、以下を参照に追加。

  1. ExcelCreator.Shared.v{バージョン}
  2. ExcelCreator.Xlsx.Creator.v{バージョン}

※「xls」を使用したい場合、「ExcelCreator.Xls.Creator.v{バージョン}」を使用

インスタンス使用準備

// インスタンス作成
private System.IO.MemoryStream MemoryStream= new System.IO.MemoryStream();
private XlsxCrator Xlsx = new XlsxCreator();

// テンプレートとなるExcelファイルを開く
Xlsx.OpenBook(MemoryStream,"物理ファイルパス/xxx.xlsx");

// プロパティの定義
private int sheetNo = 0;

セルの値設定

Xlsx.Pos(int sx, int sy).Value = "test";

※セルを跨ぐ(被る)テキストなどがある場合、その隣のセルに空文字を設定すると文字が切れます。何も設定しない or nullを設定ならOKです。 例)

f:id:hoshi_sbg:20200316114447p:plain
この場合、B列に空文字を設定してしまうと、↓の画像のようになる。
f:id:hoshi_sbg:20200316114607p:plain

改シート

/*
sheetNo:現在のシートNo(初期値=0)
insertPosition:現在のシートNo + 1
sheetName:被らない名称。被ると改シートされない
*/
Xlsx.CopySheet(int seetNo, int insertPosition, string sheetName);

// シートNoインクリメント
sheetNo++;

/*
シートNo更新
Xlsx.SheetNoに値をいれることで、操作するシートを選択する
*/
Xlsx.SheetNo = sheetNo;
// 

行コピー

セルの範囲指定でコピーするメソッドもあるが、borderが消えた。 やり方が間違っていたのかもしれない。 とりあえず一行ずつコピーする

// コピーしたい行のシートが現在のシートと異なる場合、コピーしたいシートをアクティブに
Xlsx.SheetNo = 0;

// 指定した行をコピー
Xlsx.RowCopy(0);

// コピーしたい行のシートが現在のシートと異なる場合、現在のシートに操作を戻す。
Xlsx.SheetNo = 1;

// 指定した行に貼り付け
Xlsx.RowInsertCopied(1);

// ※複数行がマージされていた場合、マージが解除されるので再設定。
Xlsx.Cell("A1:B2").Attr.MergeCells = true;

出力

Xlsx.CloseBook(true);
return Controller.File(MemoryStream.ToArray(), "application/force-download", "ファイル名")

サーバに保存

Xlsx.CloseBook(true);
var file = MemoryStream.ToArray();
var FileStream = new FileStream .FileStream("物理パス", System.IO.FileMode.Create, System.IO.FIleAccess.Write);
FileStream.Write(file, 0, file.Length);
FileStream.Close();

あつまれ どうぶつの森 -Switch

あつまれ どうぶつの森 -Switch

  • 発売日: 2020/03/20
  • メディア: Video Game