- 『'SixLabors.Fonts' を解決できません。』って言うエラーが出た時の対処法を知りたい
- ClosedXMLで保存したExcelファイルがめちゃくちゃになって保存される時の対処法を知りたい
ClosedXMLがバージョンアップしてからと言う物、「インストール出来ない」とか「挙動がおかしい!」なんて現象が起こっているようです。
Excel操作が出来る便利な機能なだけに困りますよね。
そこで今回は、実際に自分がClosedXMLを使ってる時に起こって困ったエラーの直し方について紹介していきます。
『'SixLabors.Fonts' を解決できません。』って言うエラーが出た時の対処法
NuGetパッケージでClosedXMLをインストールしようとすると『'SixLabors.Fonts' を解決できません。使用されているソース: 'nuget.org', 'Microsoft Visual Studio Offline Packages'』って言うエラーが出てダウンロードできません。
これを解決するには
Visual Studioのツールからオプションを選択
NuGetパッケージマネージャーの全般にある『パッケージ管理』を『PackageReference』に変更してOKをクリック。
パッケージ管理を変更するだけでClosedXMLがインストール出来るようになります。
あとはいままで通りにClosedXMLを使ってExcelの操作が可能です。
ClosedXMLで保存したExcelファイルがめちゃくちゃになって保存される時の対処法
XlosedXMLでファイルを読み込んでからSaveASで保存すると
なぜかExcelファイルが壊れます。
原因としては、参照元のフォルダが違うと上記画像のような現象になるみたいです。
- 例:参照元(sample1¥test.xlsx)保存先(desktop¥test.xlsx)⇐これだとダメ
- 例:参照元(desktop¥test.xlsx)保存先(desktop¥test1.xlsx)⇐これだとOK
詳しい原因はよくわかりませんが、同一フォルダに置くと正常に機能しました。
しかし、これでもまだExcelファイルの破損が抑えられただけで内部のデータはめちゃくちゃになります。
⇧のようなファイルが
⇩のように順番とか配置が変わる
これの原因としては
空白のセルの中に何がデータが入ってる場合に起こります。
表示上では見えませんが、何かデータがあるっぽいので空白行は一回Deleteします。
空白行を一回キレイにしてから保存すると
保存した後のExcelファイルに起こったバグが消えます。
最後にSaveASで出力したファイルを参照元にして新しいExcelファイルを作ると正常に動くようになりました。
まとめ
Excelの出力に関してはまだまだ不明点が多く、なぜ今回のようなめんどうな作業が必要なのか分かりません。
しかし、機能自体はちゃんと動作するようになったので、応急処置としては使えると思います。
ClosedXMLのインストール、保存時のエラーで悩まされてる人はお試しください。