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)