Aspose.Cells for .NET 17.3.0 リリースノート

概要 カテゴリー
CELLSNET-45037 ピボット テーブルのカスタム合計および総計ラベルをサポート 新機能
CELLSNET-45156 つのグリッドのページングを同期します (Aspose.Cells.GridWeb) 新機能
CELLSNET-45140 更新されたセルのみを検証し、他のセルの検証を無視する (Aspose.Cells.GridWeb) 新機能
CELLSNET-45158 ピボット データ ソースの変更により、追加の LinkSource が追加されます 強化
CELLSNET-45168 テキスト「1」の位置が変更され、形状が少し歪んでいる/傾いている バグ
CELLSNET-45163 ワークシートを画像にレンダリングする際に、図形内のテキストが反転する バグ
CELLSNET-45161 スプレッドシートの写真の角度が若干異なります バグ
CELLSNET-45159 自動形状オブジェクトが正しくレンダリングされない バグ
CELLSNET-45138 PrintArea が画像を正しく変換できない バグ
CELLSNET-45136 Excel を PDF に変換するとボックスが回転する バグ
CELLSNET-45182 結果のスプレッドシートを修復しないと Excel に読み込めない バグ
CELLSNET-45143 Aspose.Cells を XLSB に保存すると、レポート フィルターを含む破損したピボット テーブルが生成される バグ
CELLSNET-45135 HTML を XLSX としてインポート中に画像が重なる バグ
CELLSNET-45134 HTML を XLSX としてインポート中に列幅が失われる バグ
CELLSNET-45133 HTML を XLSX としてインポート中にコンテンツのスタイリングが失われる バグ
CELLSNET-45132 XLSX 形式で保存すると、HTML で有効化された WrapText が失われる バグ
CELLSNET-45127 HTML を XLSX としてインポートすると、フォント スタイルとサイズが変更される バグ
CELLSNET-45115 データを追加した後にピボット テーブルを更新すると、破損した Excel ファイルが生成される バグ
CELLSNET-45109 日付列でグループ化されたピボット テーブルの更新エラー バグ
CELLSNET-45081 ピボット テーブルのマージ ラベル機能が動作しない バグ
CELLSNET-45076 配置が機能せず、テキストが Excel のセルから HTML 変換に出てしまう バグ
CELLSNET-45057 HTML から XLSX への変換が正しくありません バグ
CELLSNET-45040 一部のピボット フィールド アイテムが Numbers ではなく日付値としてレンダリングされる バグ
CELLSNET-40265 入力ファイルのカルチャに関する問題 バグ
CELLSNET-45142 外部範囲が使用されている場合の VLOOKUP 関数の問題 バグ
CELLSNET-45150 ワークシートの最後の行を展開または折りたたむことはできません バグ
CELLSNET-45139 つのページに 2 つの GridWeb があるとページングが機能しない バグ
CELLSNET-45137 GridWeb を Internet Explorer 11 で実行すると、グループ化された行または列に問題が発生する バグ
CELLSNET-45203 Excel ファイルを PDF にレンダリングすると文字が重なる バグ
CELLSNET-45196 エクスポートした XPS で印刷が文字化けする バグ
CELLSNET-45187 タグは、TrueType 仕様に従って昇順である必要があります バグ
CELLSNET-45169 警告: Mono の SheetRender.ToImage で、領域の最大サイズは 262144 バイトです バグ
CELLSNET-45167 Mono で SheetRender.ToImage がコンテンツを文字化けして不完全にレンダリングする バグ
CELLSNET-45166 SheetRender.ToImage は、Mono のページ ヘッダーとフッターのみをレンダリングします。 バグ
CELLSNET-43732 EMF にレンダリングして Word に貼り付けると、結果の PDF でテキストが重なる バグ
CELLSNET-45186 PDF エクスポートで面グラフが表示されない バグ
CELLSNET-45178 チャートを画像にレンダリングする際に軸ラベルがトリミングされる バグ
CELLSNET-45177 チャートを画像にレンダリングする際に軸ラベルが見つからない - II バグ
CELLSNET-45151 スプレッドシートを PDF にレンダリングすると、チャートの書式がすべて失われる バグ
CELLSNET-45147 スプレッドシートを PDF にレンダリング中にチャートが見つからない バグ
CELLSNET-44998 スプレッドシートを PDF に変換すると、グラフのデータ ラベルが変更される バグ
CELLSNET-44984 番目のダイアグラムの傾向線は、出力 PDF で適切にレンダリングされません バグ
CELLSNET-41539 PDF のグラフの周りに緑色の楕円形のワード アート/画像が正しく表示されない バグ
CELLSNET-45197 Range.MoveTo はデータ検証と条件付き書式を移動しません バグ
CELLSNET-45183 ActiveX コントロール (ComboBox) の “Locked” 属性は変更されません バグ
CELLSNET-45179 XLSX ファイルに CodeName を設定してもうまくいきません バグ
CELLSNET-45175 XLSX ファイルで画像の書式設定が機能しない バグ
CELLSNET-45174 DeleteRange 後に Print_Area 範囲が壊れる バグ
CELLSNET-45173 XLSX 保存後にファイルが壊れています バグ
CELLSNET-45171 範囲を移動すると、内側の範囲が 1 つのセルの長さに縮小されます バグ
CELLSNET-45162 範囲を削除した後、グラフが正しく計算/更新されない バグ
CELLSNET-45155 Cells.InsertColumns/DeleteColumns により、ListObject/Table の「#REF」が発生します バグ
CELLSNET-45154 範囲を移動しても、別のシートの参照は更新されません バグ
CELLSNET-45145 CameraTool オブジェクトを削除できません バグ
CELLSNET-45060 ボタンのフォント設定が単純なロードおよび保存操作後に変更されました バグ
CELLSNET-43722 ファイル エラー: データが失われた可能性があり、XLS を開くときに Excel によってスローされました バグ
CELLSNET-45190 WORKDAY 数式の計算中に例外が発生しました 例外
CELLSNET-45199 Excel から PDF - 配列外のインデックス例外 例外

Public API および下位互換性のない変更

以下は、Aspose.Cells for .NET に対して行われた下位互換性のない変更と同様に、追加、名前変更、削除、または廃止されたメンバーなど、パブリック API に対して行われた変更のリストです。リストされている変更について懸念がある場合は、 Aspose.Cells サポート フォーラム。

ピボット テーブルのグローバリゼーション設定のカスタマイズ

最近の 17.3.0 以降のバージョンを使用すると、開発者は Excel ファイルのピボット テーブルのグローバリゼーション設定をカスタマイズできます。要件に従って、ピボット合計、小計、総計、すべてのアイテム、複数のアイテム、列ラベル、行ラベル、空白値のテキストを変更できます。開発者は、Excel のテキスト言語に関係なく、.NET アプリケーションにこの機能を組み込むことができます。アラビア語、ヒンディー語、ポーランド語などの可能性があります。新しくサポートされているすべてのメソッドを以下に示します。

  1. GlobalizationSettings.GetPivotTotalName() メソッドを追加 ピボットテーブルの「合計」ラベルの名前を取得します。開発者は、ピボットテーブルのデータ領域に 2 つ以上のピボットフィールドが含まれている場合、このメソッドをオーバーライドできます。
  2. GlobalizationSettings.GetPivotGrandTotalName() メソッドを追加 ピボットテーブルの「総計」ラベルの名前を取得します。
  3. GlobalizationSettings.GetMultipleItemsName() メソッドを追加・ピボットテーブルの「(複数項目)」ラベルの名前を取得します。
  4. GlobalizationSettings.GetAllName() メソッドを追加 ピボットテーブルの「(すべて)」ラベルの名前を取得します。
  5. GlobalizationSettings.GetColumnLablesName() を追加しますメソッド - ピボットテーブルの「列ラベル」ラベルの名前を取得します。
  6. GlobalizationSettings.GetRowLablesName() メソッドを追加 ピボットテーブルの「行ラベル」ラベルの名前を取得します。
  7. GlobalizationSettings.GetEmptyDataName() メソッドを追加・ピボットテーブルの「(空白)」ラベルの名前を取得します。
  8. GlobalizationSettings.GetSubTotalName(PivotFieldSubtotalType subTotalType) メソッドを追加・ピボットテーブルの「PivotFieldSubtotalType」型の名前を取得します。

このコード例では、ピボット テーブルのグローバリゼーション設定をカスタマイズする方法を詳しく説明します。基本クラス GlobalizationSettings から派生したクラス CustomPivotTableGlobalizationSettings を作成し、その必要なメソッドをすべてオーバーライドします。これらのメソッドは、ピボット合計、小計、総計、すべてのアイテム、複数のアイテム、列ラベル、行ラベル、空白値のカスタマイズされたテキストを返します。次に、このクラスのオブジェクトを Workbook.GlobalizationSettings プロパティに割り当てます。このコードは、ピボット テーブルを含むソース Excel ファイルを読み込み、そのデータを更新して計算し、出力 PDF ファイルとして保存します。開発者は、ワークブックをサポートされている任意の形式で保存することもできます。

.NET, C#

 //Load your excel file

Workbook wb = new Workbook("samplePivotTableGlobalizationSettings.xlsx");



//Setting Custom Pivot Table Globalization Settings

wb.Settings.GlobalizationSettings = new CustomPivotTableGlobalizationSettings();



//Hide first worksheet that contains the data of the pivot table

wb.Worksheets[0].IsVisible = false;



//Access second worksheet

Worksheet ws = wb.Worksheets[1];



//Access the pivot table, refresh and calculate its data

PivotTable pt = ws.PivotTables[0];

pt.RefreshDataFlag = true;

pt.RefreshData();

pt.CalculateData();

pt.RefreshDataFlag = false;



//Pdf save options - save entire worksheet on a single pdf page

PdfSaveOptions options = new PdfSaveOptions();

options.OnePagePerSheet = true;



//Save the output pdf 

wb.Save("outputPivotTableGlobalizationSettings.pdf", options);



// it derives a new class, called CustomPivotTableGlobalizationSettings, from the GlobalizationSettings class, as follows:

private class CustomPivotTableGlobalizationSettings : GlobalizationSettings

{

    //Gets the name of "Total" label in the PivotTable.

    //You need to override this method when the PivotTable contains two or more PivotFields in the data area.

    public override string GetPivotTotalName()

    {

        Debug.WriteLine("---------GetPivotTotalName-------------");

        return "AsposeGetPivotTotalName";

    }



    //Gets the name of "Grand Total" label in the PivotTable.

    public override string GetPivotGrandTotalName()

    {

        Debug.WriteLine("---------GetPivotGrandTotalName-------------");

        return "AsposeGetPivotGrandTotalName";

    }



    //Gets the name of "(Multiple Items)" label in the PivotTable.

    public override string GetMultipleItemsName()

    {

        Debug.WriteLine("---------GetMultipleItemsName-------------");

        return "AsposeGetMultipleItemsName";

    }



    //Gets the name of "(All)" label in the PivotTable.

    public override string GetAllName()

    {

        Debug.WriteLine("---------GetAllName-------------");

        return "AsposeGetAllName";

    }





    //Gets the name of "Column Labels" label in the PivotTable.

    public override string GetColumnLablesName()

    {

        Debug.WriteLine("---------GetColumnLablesName-------------");

        return "AsposeGetColumnLablesName";

    }



    //Gets the name of "Row Labels" label in the PivotTable.

    public override string GetRowLablesName()

    {

        Debug.WriteLine("---------GetRowLablesName-------------");

        return "AsposeGetRowLablesName";

    }



    //Gets the name of "(blank)" label in the PivotTable.

    public override string GetEmptyDataName()

    {

        Debug.WriteLine("---------GetEmptyDataName-------------");

        return "(blank)AsposeGetEmptyDataName";

    }



    //Gets the name of PivotFieldSubtotalType type in the PivotTable.

    public override string GetSubTotalName(PivotFieldSubtotalType subTotalType)

    {

        Debug.WriteLine("---------GetSubTotalName-------------");



        switch (subTotalType)

        {

            case PivotFieldSubtotalType.Sum:

                return "AsposeSum";//polish



            case PivotFieldSubtotalType.Count:

                return "AsposeCount";



            case PivotFieldSubtotalType.Average:

                return "AsposeAverage";



            case PivotFieldSubtotalType.Max:

                return "AsposeMax";



            case PivotFieldSubtotalType.Min:

                return "AsposeMin";



            case PivotFieldSubtotalType.Product:

                return "AsposeProduct";



            case PivotFieldSubtotalType.CountNums:

                return "AsposeCount";



            case PivotFieldSubtotalType.Stdev:

                return "AsposeStdDev";



            case PivotFieldSubtotalType.Stdevp:

                return "AsposeStdDevp";



            case PivotFieldSubtotalType.Var:

                return "AsposeVar";



            case PivotFieldSubtotalType.Varp:

                return "AsposeVarp";



        }



        return "AsposeSubTotalName";

    }

}//End CustomPivotTableGlobalizationSettings

GridWeb コントロールのページ変更イベントでクライアント側スクリプトを実行する

GridWeb コントロールは複数のページにデータを保持できるため、開発者は GridWeb コントロールの OnPageChangeClientFunction プロパティを使用して、ページ変更イベントでクライアント側スクリプトを実行できます。 Web アプリケーションで現在のページ インデックスを表示する必要がある場合があります。

  1. GridWeb コントロールに OnPageChangeClientFunction プロパティを追加します ページ インデックスが変更されたときに呼び出されるクライアント側スクリプト関数を取得または設定します。 EnablePaging が true の場合にのみ有効です。

このコード例は、OnPageChangeClientFunction プロパティの使用を示しています。 MyOnPageChange という名前のクライアント側関数でプロパティを設定します。これで、ユーザーが GridWeb ページを変更するたびに、クライアント側関数 MyOnPageChange が呼び出され、現在のページ インデックス上でコンソール:

.NET, C#

 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="TestGridWeb.aspx.cs" Inherits="TestGridWeb" %>



<%@ Register TagPrefix="acw" Namespace="Aspose.Cells.GridWeb" Assembly="Aspose.Cells.GridWeb" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">

    <title>Test GridWeb</title>

    <script type="text/javascript">

        function MyOnPageChange(index) {

            console.log("current page is:" + index);

        }

    </script>

</head>

<body>

    <form id="form1" runat="server">

        <div>

            <div>

                <b>GridWeb Version:&nbsp </b>

                <asp:Label ID="lblVersion" runat="server" Text="Label"></asp:Label>

                <br />

            </div>

            <acw:GridWeb ID="GridWeb1"

            runat="server" XhtmlMode="True"

            Height="504px" Width="1119px" EnablePaging="true"

            OnPageChangeClientFunction ="MyOnPageChange">

            </acw:GridWeb>

        </div>

    </form>

</body>

</html>

//........................................................

// It is the client side function MyOnPageChange that will be executed because of setting OnPageChangeClientFunction ="MyOnPageChange"property in GridWeb.

function MyOnPageChange(index) {

    console.log("current page is:" + index);

}

Excel ワークシート全体を検証する

デフォルトでは、GridWeb は更新されたセルのみを検証し、Excel ワークシート全体を検証しません。ただし、GridWeb がサーバーにリクエストを送信する前に、開発者がクライアント側で Excel ワークシート全体を検証する必要がある場合は、acwmain.js 内の needValidateall 変数を true に設定する必要があります。

使用例

Aspose.Cells Wiki ドキュメントに追加されたヘルプ トピックのリストを確認してください。

  1. ピボット テーブルのグローバリゼーション設定のカスタマイズ
  2. GridWebのページ変更時にクライアントサイド関数を実行する
  3. 更新されたセルだけではなく、ワークシート全体を検証する