We're sorry Aspose doesn't work properply without JavaScript enabled.

Free Support Forum - aspose.com

Aspose.Cells for Java [xls]ファイルを[xlsx]に変換すると正しく変換されない部分がある

お世話になっております。
「aspose-cells-21.5」を使ってExcelファイルの変換(xls→xlsx)を行っています。
内部で行っている処理は以下の通りです。
・特定のセル値を内部表に従って変換(convert.jsonを使用)
・各セルのフォントを「IPAゴシック」に変更
・ファイル形式をxls→xlsxに変換

変換後のファイルを開くと
①オートシェイプ(テキストボックス)が一部消えてしまう。
②特にオートシェイプでは、フォントサイズが変換前と比較して変わってしまう。(初期値の10ポイントになる?)
②セルの罫線も一部が消えてしまう。
と言った現象が発生しています。

xlsファイルを自分で開いて手動でxlsxに変換したところ、
上記現象は発生しなかったことから、aspose側の変換処理に問題があるのではないかと思っています。

変換プログラムと変換元のExcelファイルを連携しますので、
変換方法に問題はないか?などを調査頂けないでしょうか。
共有資料.zip (129.1 KB)

@ika0616,

最新バージョンを試して修正してください:
aspose-cells-21.8.5-java.zip (7.4 MB)

それでも問題が解決しない場合は、スクリーンショットを共有して、Excelスプレッドシートの元のオブジェクトと比較するときに問題のある領域を強調表示します。 最小限のコード行で、より単純なサンプルコード(実行可能)を共有することもできます。 これにより、問題を正確に評価し、その結果、問題をすばやく理解することができます。

@Amjad_Sahi
頂いた最新バージョン「aspose-cells-21.8.5」で試してみましたが、改善しませんでした。
現象の詳細情報と、不要ロジックを省いたサンプルコードを添付します。
引き続き調査をお願いします。
現象再現.zip (233.8 KB)

@ika0616,

サンプルファイルとリソースファイルをありがとう。

問題のIDが「CELLSJAVA-43786」のチケットを記録しました。 間もなく問題を評価して対処します。 問題が判明した場合、またはその他の更新があった場合は、こちらでお知らせします。

@Amjad_Sahi
お世話になっております。
本件について、状況はいかがでしょうか?
申し訳ありませんが、納期が迫っているため早めの解決をお願いしたいです。

@ika0616,

私たちはすぐにそれを理解しようとします。 また、さらに時間がかかる場合は、ETAを提供します。 間もなく最新のアップデートでご連絡いたします。

@ika0616
弊社製品をご愛顧いただき、誠にありがとうございます
私たちはあなたが私たちに言った問題を解決しています
この問題は非常に複雑で、短時間で解決することはできません
1ヶ月以内に解決に努めます
ご不便をおかけして申し訳ありません

@duojie.yang
ご回答ありがとうございます。
承知しました。引き続きよろしくお願いします。

@ika0616
あなたの問題は解決されました。
fix:
aspose-cells-21.9.2-java.zip (7.4 MB)

@duojie.yang
対応頂きありがとうございます。
頂いた最新版で確認したところ、以前お渡しした「現象再現.xlsx」の内、
現象①は改善されていましたが、現象②の方は改善されていないようです。

(発生した現象)
①オートシェイプ(テキストボックス)が一部消えてしまう。
②オートシェイプ(テキストボックス)のフォントサイズが変換前と比較して変わってしまう。
※①は改善されていましたが、②はまだ改善されていません。

お手数ですが、②の現象を再度ご確認下さい。

@ika0616
問題の場所が見つかりませんでした
写真で指摘できますか
どうもありがとうございます

@duojie.yang

現象の箇所を添付します。
現象としては、変換後のファイル を見ると、オートシェイプ内のフォントサイズが、
7pt⇒10ptに変更されている事です。
よろしくお願いします。

現象再現2.zip (450.7 KB)

@ika0616
あなたがくれたコードをチェックしました
次のコードは正しい結果を取得しません
private void convertFont(Worksheet worksheet) {

int shapeCount = worksheet.getShapes().getCount();
for (int i=0; i<shapeCount; i++) {
Object shape = worksheet.getShapes().get(i);
if (shape instanceof TextBox) {
Font font = ((TextBox)shape).getFont();
font.setName(settings.getNewFontName());
((TextBox)shape).setFont(font);
}
}
}
次のコードに置き換える必要があります
private void convertFont(Worksheet worksheet) {

int shapeCount = worksheet.getShapes().getCount();
for (int i=0; i<shapeCount; i++) {
Object shape = worksheet.getShapes().get(i);
if (shape instanceof TextBox) {
TextBox tbx = (TextBox)shape;
for(int k=0;k<tbx.getTextBody().getCount();++k)
{
com.aspose.cells.FontSetting fs = tbx.getTextBody().get(k);
fs.getFont().setName(settings.getNewFontName());
}
}
}
}

@duojie.yang
確認頂きありがとうございました。
また、こちらのコードも見直して頂きありがとうございます。
頂いたコードで実行したところ、現象が改善されている事を確認しました。

変換が必要なファイルは他にいくつもある為、これから順次他のファイルも変換して
問題ないか確認を行いますが、こちらの課題については解決として頂いてOKです。

ありがとうございました。

@ika0616
どういたしまして
ご不明な点がございましたら、お気軽にお問い合わせください。

@duojie.yang
度々申し訳ありません。
最新バージョン「21.9.2」で確認したところ、今回発生した現象は改善されている事は
確認したのですが、新たな現象が1点発生しました。
(現象内容)
変換前後のファイルを比較すると、オートシェイプの角の丸みが変わってしまう。
変換前のファイルでは丸みが少ないのに対して、変換後のファイルは丸みが大きくなってしまいます。

現象の詳細を添付しますので、
お手数をおかけしますが、確認をお願いします。
現象再現3.zip (298.8 KB)

@ika0616
サンプルファイルとリソースファイルをありがとう。
この問題をシステムに記録しました「ID:CELLSJAVA-43880」。
問題が解決するとすぐに通知されます。

@ika0616
最新の21.9.4を使用してください
aspose-cells-21.9.4-java.zip (7.4 MB)

@duojie.yang

ありがとうございます。
頂いた最新[21.9.4]にて現象が改善されている事を確認しました。

ただ、他のファイルでも同様にxls⇒xlsxへ変換をすると、
今度は別のファイルで以下の現象が新たに発生しました。
(現象内容)
①線オブジェクトについて、変換前は「罫線あり」であったものが、
変換後に「罫線なし」となってしまう。
②グラフオブジェクトについて、変換後の図形サイズ、図形位置が変換前と比較して
ずれてしまう。

今回発生した現象の詳細と、変換前後のファイルを共有します。
お手数をおかけしますが、再度調査をお願いします。
現象再現4、5.zip (960.4 KB)

@ika0616,

最初のテストの後、新しいXLSファイルをXLSXファイル形式に変換するときに、スクリーンショットで述べたように問題を再現することができます。 XLSをXLSXに変換すると、線の形状やその他のグラフの形状が正しくレンダリングされないことがわかりました。 私はあなたの問題のためにID「CELLSJAVA-43895」で別のチケットを記録しました。 すぐに調べます。

更新があり次第、お知らせします。