下記xlsファイルを読込み後出力すると、出力したファイルではフォントが読込ファイルと異なって表示されます。
byte[] byteData = ~~; //.xlsをバイトは配列で取得
string myMimeType = ~~;//読込したエクセルファイルの拡張子取得
InputStream data = new ByteArrayInputStream(byteData);
Workbook workbook = new Workbook(data); //com.aspose.cells.Workbookで読込
ByteArrayOutputStream outFile = new ByteArrayOutputStream();
if(MIME_EXCEL_XLSX.equals(myMimeType)){//読込したエクセルの拡張子によって保存形式を指定
myWorkbook.save(outFile,SaveFormat.XLSX);//Excel 2007形式出力
}else {
myWorkbook.save(outFile,SaveFormat.EXCEL_97_TO_2003);//Excel 2003形式出力
}
読込ファイルのセルにフォントには(HG正楷書体-PRO)を設定しています。
出力したファイルでは「ホームタブ > フォント」では「HG正楷書体-PRO」と表示されていますが、
実際のセルは「MS ゴシック」のフォントで表示されてしまいます。
(セルを編集(F2キー)し、エンターキーを押して編集から抜けると「ホームタブ > フォント」も「MS ゴシック」に変わってしまう)
同環境でファイルをxlsxファイルにして読込、出力をした場合は正常に「HG正楷書体-PRO」での表示ができました。
原因と対処方法について、ご教示願います。
確認したバージョン
・aspose-cells-21.10.jar
・Java 17.0.3.1+2-LTS-6
・Excel Microsoft® Excel® 2019 MSO (バージョン 2211 ビルド 16.0.15831.20098) 64 ビット