Free Support Forum - aspose.com

Aspose.Cells for Java 変更履歴の抽出について

変更履歴をテキストとして抽出したいと考えています。
以下のサンプルデータにある数式を抽出する方法はありますでしょうか。

使用バージョン:Aspose.Cells for Java 18.2.
サンプルデータ:track_changes.zip (15.2 KB)

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

@yudai_yamaguchi

私たちはあなたのニーズを調査し、サポートするためにこの問題をデータベースに記録しました。 一度、私たちはあなたのためのいくつかの修正や他のニュースを持って、我々はできるだけ早くお知らせさせていただきます。

この問題は次のように記録されています。

  • CELLSJAVA-42557 - Extract change history as text from track changes

チケットを作成していただきありがとうございました。
以上、よろしくお願いいたします。

@yudai_yamaguchi,

良いニュースがあります。すでに機能を分析しました。 Revisionコレクションに関する追加のAPI(Revisions.RevisionLogCollectionなど)を公開する予定です。 2020年4月末までに機能の完了を試みます。

@yudai_yamaguchi,

最新バージョン/修正を試してください:Aspose.Cells for Java v20.3.3(添付)
aspose-cells-20.3.3-java.zip (7.0 MB)
あなたの問題はその中で修正されるべきです。参考のために、次のサンプルコードを参照してください。
e.g
Sample code:

Workbook workbook = new Workbook(file);
                foreach(RevisionLog log in workbook.Worksheets.RevisionLogs)
                {
                    RevisionCollection rvs = log.Revisions;
                    foreach (Revision rv in rvs)
                    {
                        switch (rv.Type)
                        {

                            case RevisionType.InsertDelete:
                                RevisionInsertDelete rrc = (RevisionInsertDelete)rv;
                                Console.WriteLine(string.Format("ActionType :{0}; newArea : {1}.", rrc.ActionType, rrc.CellArea));
                                Console.WriteLine(rrc.CellArea);
                                break;
                            case RevisionType.ChangeCells:
                                RevisionCellChange rcc = (RevisionCellChange)rv;
                                string str = string.Format("CellName :{0}; OldValue : {1} ;NewOld : {2}.", rcc.CellName, rcc.OldValue, rcc.NewValue);
                                Console.WriteLine(str);
                                break;
                            case RevisionType.MoveCells:
                                RevisionCellMove rm = (RevisionCellMove)rv;
                                Console.WriteLine(string.Format("SourceArea :{0}; newArea : {1}.", rm.SourceArea, rm.DestinationArea));
                                break;
                            case RevisionType.CustomView:
                                RevisionCustomView rcv = (RevisionCustomView)rv;
                                Console.WriteLine(string.Format("ActionType :{0}; guid : {1}.", rcv.ActionType, rcv.Guid));
                                break;
                            case RevisionType.Format:
                                RevisionFormat rfmt = (RevisionFormat)rv;
                                Console.WriteLine(string.Format("worksheet :{0}; area : {1}.", rfmt.Worksheet.Name, rfmt.Areas[0]));
                                break;
                            case RevisionType.InsertSheet:
                                RevisionInsertSheet ris = (RevisionInsertSheet)rv;
                                Console.WriteLine(string.Format("newsheet :{0}; sheetPosition : {1}.", ris.Name, ris.SheetPosition));
                                break;
                            case RevisionType.DefinedName:
                                RevisionDefinedName rdn = (RevisionDefinedName)rv;
                                Console.WriteLine(string.Format("Test :{0}; oldFormula :{1};  newformula : {2}.", rdn.Text, rdn.OldFormula, rdn.NewFormula));

                                break;
                            case RevisionType.RenameSheet:
                                RevisionRenameSheet rsnm = (RevisionRenameSheet)rv;
                                Console.WriteLine(string.Format("OldName :{0}; newName :{1}.", rsnm.OldName, rsnm.NewName));
                                break;
                            default:
                                Console.WriteLine(rv.Type);
                                break;
                        }
                    }
                }