記事タイトルの内容で困ったのでメモと情報共有代わりに残します。
(更新の凍結したOSSを使う人間が私以外にいるかは不明ですが……)
問題
- EPPlus4.5.3.3(以下EPPlus)を使用した時、吹き出し、図形内にスペースを使うと自動で改行されてしまう。
対策
上記の問題はEPPlusのExcelDrawings.cs内のExcelDrawingsクラスのConstructor内の記述に、
_drawingsXml.PreserveWhitespace = false;
と記載されている事が原因でした。
これをtrueに変更すると自動で改行されなくなります。
詳細
PreserveWhitespaceは要素のコンテンツにある空白を保存するかどうかを示す値の取得設定をするプロパティです。1
読み込み時
true:空白は保存される。
false:重要な空白だけが保存される。
保存時
true:ドキュメント内の空白は出力でも保存される。
false:出力に自動的にインデントを設定して保存する。
その為、ExcelDrawingsでPreserveWhitespaceがfalseだと、空白を消去され、xmlが整理(インデント、改行などが自動で設定)されてしまいます。
この変更をする事で何処かしらでエラーが起きるかもしれませんが、今のところは発生していません。
(気づいていないだけかも……)