【Aspose.Cells for java】Excel上で設定したASC関数が反映されない

@ika0616
サンプルファイルを使用して最新バージョンv 24.5でテストすることで、問題を再現することができます。JAPANロケールを使用したASC関数の計算中にNullPointerExceptionが発生していることがわかりました。

内部問題追跡システムで次の新しいチケットを開き、Free Support Policies に記載されている条件に従って修正を提供しています。

質問番号:CELLSJAVA-45990

@John.He
ご確認ありがとうございます。
修正の方をよろしくお願いいたします。

@ika0616
どういたしまして。更新があれば、すぐにお知らせします。

@ika0616,

お客様の問題 (「CELLSJAVA-45990」として記録) が解決されましたのでお知らせいたします。この修正は、今週または来週初めにリリース予定の次のリリース (Aspose.Cells v24.6) に含まれます。次のバージョンがリリースされたらお知らせします

@amjad.sahi

ありがとうございます。修正版のリリースお願いいたします。

@ika0616,

はい、引き続きお知らせいたします。

The issues you have found earlier (filed as CELLSJAVA-45990) have been fixed in Aspose.Cells for Java 24.6.

@amjad.sahi
頂いた最新バージョン(24.6)にて実行したところ、当初のNullPointerExceptionは発生しなくなりましたが、別のエラー(下記参照)が発生します。

エラーの発生個所は前回と同じく「workbook.calculateFormula()」の部分です。

com.aspose.cells.CellsException: java.lang.ArrayIndexOutOfBoundsException: Index 30 out of bounds for length 18(Based on cell 0000000001240000000124061900001!D8)
at com.aspose.cells.agr.a(Unknown Source) ~[aspose-cells-24.6.jar:24.6.0]
at com.aspose.cells.agr.a(Unknown Source) ~[aspose-cells-24.6.jar:24.6.0]
at com.aspose.cells.ags.a(Unknown Source) ~[aspose-cells-24.6.jar:24.6.0]
at com.aspose.cells.ags.b(Unknown Source) ~[aspose-cells-24.6.jar:24.6.0]
at com.aspose.cells.agr.b(Unknown Source) ~[aspose-cells-24.6.jar:24.6.0]
at com.aspose.cells.Workbook.calculateFormula(Unknown Source) ~[aspose-cells-24.6.jar:24.6.0]
at com.aspose.cells.Workbook.calculateFormula(Unknown Source) ~[aspose-cells-24.6.jar:24.6.0]
at jp.co.njc.archon.engine.pdf.editor.SheetEditor.outputBook(SheetEditor.java:2085) ~[main/:na]

なおエラーメッセージの「0000000001240000000124061900001」部分はシート名となり、当該シートのD8セルにてエラーが発生しているようです。サンプルファイルを添付します。

お手数ですが、再度確認をお願いします。

テスト帳票.zip (7.1 KB)

@ika0616
サンプルファイルと次のサンプルコードを使用して最新バージョンv 24.6でテストすることで、正常に動作することができます。
サンプルコードは次の通りです。

Workbook wb = new Workbook(filePath + "僥僗僩挔昜.xlsx");
wb.getSettings().setLocale(Locale.JAPAN);

wb.calculateFormula();

また、次の文を使用して実行中のバージョン番号を印刷してください。

System.out.println(CellsHelper.getVersion());

まだ疑問がある場合は、テストコードを提供してください。すぐにチェックします。

@John.He

頂いたサンプルコードの
wb.getSettings().setLocale(Locale.JAPAN);
を入れて試してみましたが現象が改善されませんでした。

その後調べてみると、セットする文字に濁音・半濁音文字が入っている場合にエラーが起きます。
(例:ガギグゲゴ、パピプペポ)
逆に、濁音・半濁音文字以外では正常に変換されました。

お手数ですが、濁音・半濁音文字をセットして再度調査お願いします。

@ika0616
サンプルファイルに濁音と半濁音の文字を追加し、最新バージョンv 24.6で次のサンプルコードを使用してテストすることで、正常に動作します。添付ファイルを確認してください。result.zip (7.4 KB)

サンプルコードは次の通りです。

Workbook wb = new Workbook(filePath + "僥僗僩挔昜.xlsx");
wb.getSettings().setLocale(Locale.JAPAN);

wb.calculateFormula();

まだ疑問がある場合は、サンプルファイルとテストコードを提供してください。すぐにチェックします。

@John.He

頂いたresult.zipを確認しましたが、B15、B16セルには全角文字がそのままセットされています。そちらで確認して頂いた際には、ASC関数を通して正しく変換されていますでしょうか?
(例)
C8、C9セルに濁音と半濁音の文字をセットすると、D8、D9セルには
ASC関数を使った変換結果が正しくセットされますか?

@ika0616
あなたのフィードバックに感謝します。サンプルファイルと以下のサンプルコードを使用してテストすることで、問題を再現することができます。数式計算を行うと、ArrayIndexOutOfBoundsException例外が発生します。添付ファイルを確認してください。

サンプルコードは次の通りです。

Workbook wb = new Workbook(filePath + "僥僗僩挔昜.xlsx");
wb.getSettings().setLocale(Locale.JAPAN);

wb.calculateFormula();

内部問題追跡システムで次の新しいチケットを開き、Free Support Policies に記載されている条件に従って修正を提供しています。

質問番号:CELLSJAVA-46031

@John.He

確認ありがとうございます。
引続き修正をお願いします。

なお、今後は弊社の別の担当者からも返信させて頂くと思います。
これまでの経緯は別担当者に連携しておきますので、よろしくお願いします。

@ika0616
あなたのフィードバックに感謝します。どういたしまして。更新があれば、すぐにお知らせします。

@ika0616,

お客様の問題 (「CELLSJAVA-46031」として記録) が解決されましたのでお知らせいたします。修正/機能強化は、来週リリース予定の次期リリース (Aspose.Cells v24.7) に含まれます。次のバージョンがリリースされたらお知らせします。

The issues you have found earlier (filed as CELLSJAVA-46031) have been fixed in Aspose.Cells for Java 24.7.

@John.He

Aspose.Cells v24.7を用いて試しました。
単純な変換は行えたのですが、
① 同セルに、濁音半濁音の全角文字と、全角数字が存在する
②「ャュョ」
の場合に、想定した動作をしてくれませんでした。

①は、文字化けが発生し、
②は、変換がされません。

テスト帳票0731.zip (45.2 KB)

こちらで読み込ませたexcelブックと、
出力したPDFを添付します。

@kurokawa
サンプルファイルと以下のサンプルコードを使用してテストすることで、問題を再現することができます。結果ファイルの表示とexcelが一致していないことが分かった。ファイルをpdfに変換すると。

Workbook wb = new Workbook(filePath + "僥僗僩挔昜0731.xlsx");
wb.getSettings().setLocale(Locale.JAPAN);

wb.calculateFormula();
wb.save(filePath + "out_java.pdf");

内部問題追跡システムで次の新しいチケットを開き、Free Support Policies に記載されている条件に従って修正を提供しています。

質問番号:CELLSJAVA-46079