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

Free Support Forum - aspose.com

[Aspose.Cells for Java] Comment.getAuthorでおかしな値が取得される

Comment#getAuthor() で、おかしい値が取得されることがあります。なぜでしょうか?
Authorの名前ではなく、プログラムを実行しているユーザーの名前が取得されます。
これを Aspose.Cells 20.11 で確認しました。

サンプルファイルと、ソースコードをお送りします。

sample_xlsx.zip (99.1 KB)

import java.io.FileInputStream;
import java.io.InputStream;

import com.aspose.cells.Comment;
import com.aspose.cells.Workbook;
import com.aspose.cells.Worksheet;

public class CommentAuthorTest {

    public static void main(String[] args) throws Exception {

        try (InputStream inputStream = new FileInputStream("C:\\work\\sample.xlsx")) {

            Workbook workbook = new Workbook(inputStream);
            Worksheet worksheet = workbook.getWorksheets().get(0);

            for (Object comment : worksheet.getComments()) {

                System.out.println(
                        ((Comment) comment).getAuthor());
            }
        }
    }
}

@yudai_yamaguchi,

テンプレートファイルでサンプルコードを使用してシナリオ/ケースをテストしましたが、問題は見つかりませんでした。次の出力ファイルを取得しましたが、無効または予期しない値は見つかりませんでした。
出力:

rhughes
rhughes
rhughes
rhughes
Administrator
rhughes
rhughes
dcarney
rhughes
rhughes
rhughes
rhughes
rhughes
rhughes
rhughes
rhughes
rhughes
rhughes
rhughes
rhughes
rhughes
rhughes
rhughes
rhughes
rhughes
rhughes
rhughes
rhughes
rhughes
rhughes
Tst_User

最新バージョン/修正を使用しています:(Aspose.Cells for Java v20.11.1)、まだ使用していない場合は試してみてください。また、それでも問題が解決しない場合は、上記の出力の何が問題になっているのかを詳しく説明してください。詳細や予想されるスクリーンショットを共有することもできます。

ありがとうございます。

最後の行ですが、これはCommentのAuthorの名前ではありません。
プログラムを実行したユーザーの名前です。
例えば、私の場合 yudai_yamaguchi と出力されます。

ここが問題です。

@yudai_yamaguchi,
最後の行がコメントの作者の名前ではないことに気づきました。 プログラムを実行している現在のユーザーの名前です。 調査のために、この問題を「CELLSJAVA-43344」としてデータベースに記録しました。 ニュースが届き次第、このトピックで更新します。

@yudai_yamaguchi,
それらの作成者は、「xl/comments.xml」(xlsxファイルを解凍)のノードにリストされています。
コメントを作成するときは、Comment.setAuthor()メソッドを使用して除外された作成者を設定してください。

こちら確認いたしました。
authorを設定している記述があります。

<author>rhughes</author><author>Administrator</author><author/><author>dcarney</author>

こちらでauthorを設定していない部分があるため実行ユーザ名が出力されているのではと思いますが、
そもそも「xl/comments.xml」に実行ユーザ名は存在しません。
存在しないものが出力されてしまっているのでこちら対応いただけないでしょうか。

よろしくお願いいたします。

@yudai_yamaguchi,
私たちはあなたのコメントを記録しました、そして私たちのフィードバックをすぐに共有します。

@yudai_yamaguchi,
WorkbookSettings.Authorプロパティが追加され、デフォルトの作成者が設定されます。 設定されていない場合、Aspose.CellsはBuiltInDocumentProperties.AuthorとEnvironment.UserNameを順番にチェックします。

@yudai_yamaguchi,

最新バージョン/修正プログラムをお試しください:Aspose.Cells for Java v20.11.5(添付)

問題を修正する必要があります。

フィードバックをお寄せください。
aspose-cells-20.11.5-java.zip (7.2 MB)

The issues you have found earlier (filed as CELLSJAVA-43344) have been fixed in this update. This message was posted using Bugs notification tool by johnson.shi

最新バージョン(20.11.5)を試しましたが問題は解決されていませんでした。
サンプルデータの作成者の名前が取得されてしまいます。
作成者の情報をプロパティから削除した場合に実行ユーザの名前が取得されました。
ご確認の程よろしくお願いいたします。

@yudai_yamaguchi,

最新バージョン/修正(例:Aspose.Cells for Java v20.12(Downloads / mavenからダウンロードして試してください))を使用すると、次の出力が得られました。

rhughes
rhughes
rhughes
rhughes
Administrator
rhughes
rhughes
dcarney
rhughes
rhughes
rhughes
rhughes
rhughes
rhughes
rhughes
rhughes
rhughes
rhughes
rhughes
rhughes
rhughes
rhughes
rhughes
rhughes
rhughes
rhughes
rhughes
rhughes
rhughes
rhughes
Lehman

問題がない場合はお知らせください。 Aspose.Cells for Java v20.12での結果はどうですか?

申し訳ございません。問題は解決されていません。
コメント作成者が存在しないコメントからは、何も抽出されないべきと考えています。

詳細は添付したdetail.xlsxに記載しました。

使用バージョン:Aspose.Cells for Java 21.5
サンプルデータ:sample.zip (33.3 KB)

コメント作成者が存在しないコメントからは、何も抽出されないようにしていただくことはできますでしょうか。

お手数おかけしますが、ご確認の程よろしくお願いいたします。

@yudai_yamaguchi,

ご指摘のとおり、問題を再現することができました。 2 番目のコメント シェイプの場合、コメントの間違った作成者が取得されます。 あなたの問題について、ID「CELLS JAVA-43493」のチケットを記録しました。

すぐに調査いたします。

続報が入り次第、お知らせします。

@yudai_yamaguchi,
作成者がテンプレートファイルに設定されているかどうかを確認するために、Comment.IsAutomaticAuthorプロパティを追加しました。 QAを実行し、他の拡張機能と修正を組み込んだ後、まもなく修正バージョンを提供します。

@yudai_yamaguchi
最新の21.6.2をお試しください
aspose-cells-21.6.2-java.zip (7.3 MB)

@yudai_yamaguchi
上記の修正は無視してください。誤解していることがわかりました。この問題を再評価しています。

@yudai_yamaguchi,

あなたの問題は今正確に解決されました。 すぐに修正プログラムを共有します。

The issues you have found earlier (filed as CELLSJAVA-43493) have been fixed in this update.