自動で集計してExcelに出したい(2)

C# + ClosedXML でやることにした。

Open XML SDKでも出来るけど、セルの指定がいちいちAddress(A1とかB3とか)で指定しなければならない。
自分でクラスを作ってやればいいんだろうけど、スキル不足。

ClosedXMLで出来ない事

  • ズームレベルを設定出来ない(zoom)
  • 「選択範囲で中央」が出来ない?
    • Range.Style.Alignment = XLAlignmentHorizontalValues.CenterContinuous; というのが有るけどどうもうまく動いていない??
  • スマホで開けない(2014/8/2追記)(2015/02/24更新)
    • ダメ:AppleのNumbers。Numbersが落ちる。(最終確認:ClosedXML 0.76.0)
    • ダメ:Polaris Office 5。「ファイルを開くことが出来ません」エラー。(最終確認:ClosedXML 0.76.0)
    • ダメ:Good Reader 4.2.0。Unable to Read Documentエラー。(最終確認:ClosedXML 0.76.0)
    • いける:MSのExcelとか

スマホで開けない件

  • どうもExcelとClosedXMLで出てくるファイルが違うみたい。xmlの中身が違ったり、ファイル名が違ったり、有るファイル。
  • ClosedXMLで作った後、Open XML SDK 2.5で開いて保存したらええんとちがう?→ブックを開いて閉じるだけではダメでした。


//ダメな例です
public void rebuild(string filepath)
{

SpreadsheetDocument spreadsheetDocument = SpreadsheetDocument.Open(filepath, true);
WorkbookPart workbookPart = spreadsheetDocument.WorkbookPart;
workbookPart.Workbook.Save();
spreadsheetDocument.Close();
}

    • 次:ClosedXMLで作った後、NPOIで(略)