Web Components Hierarchical Grid Export to Excel サービス
Web Components Hierarchical Grid の Ignite UI for Web Components Export to Excel サービスは、データを Excel へエクスポートできます。エクスポート機能は、ExcelExporterService
クラスでカプセル化され、MS Excel テーブル形式でデータをエクスポートします。この形式ではフィルタリングやソートなどの機能が使用でき、ExcelExporterService
の Export
メソッドを呼び出して最初の引数として IgcHierarchicalGridComponent
コンポーネントを渡し、グリッドを簡単にエクスポートします。
Web Components Excel Exporter の例
import 'igniteui-webcomponents-grids/grids/combined';
import { IgcHierarchicalGridComponent } from 'igniteui-webcomponents-grids/grids';
import SingersExportData from './SingersExportData.json';
import "igniteui-webcomponents-grids/grids/themes/light/bootstrap.css";
import "./index.css";
export class Sample {
private hierarchicalGrid1: IgcHierarchicalGridComponent
private _bind: () => void;
constructor() {
var hierarchicalGrid1 = this.hierarchicalGrid1 = document.getElementById('hierarchicalGrid1') as IgcHierarchicalGridComponent;
this._bind = () => {
hierarchicalGrid1.data = this.singersExportData;
}
this._bind();
}
private _singersExportData: any[] = SingersExportData;
public get singersExportData(): any[] {
return this._singersExportData;
}
}
new Sample();
ts<!DOCTYPE html>
<html>
<head>
<title>Sample | Ignite UI | Web Components | infragistics</title>
<meta charset="UTF-8" />
<link rel="shortcut icon" href="https://static.infragistics.com/xplatform/images/browsers/wc.png" >
<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons" />
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Kanit&display=swap" />
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Titillium Web" />
<link rel="stylesheet" href="https://static.infragistics.com/xplatform/css/samples/shared.v8.css" />
<link rel="stylesheet" href="/src/index.css" type="text/css" />
</head>
<body>
<div id="root">
<div class="container sample ig-typography">
<div class="container fill">
<igc-hierarchical-grid
auto-generate="false"
primary-key="ID"
allow-filtering="true"
filter-mode="excelStyleFilter"
name="hierarchicalGrid1"
id="hierarchicalGrid1">
<igc-grid-toolbar
>
<igc-grid-toolbar-actions
>
<igc-grid-toolbar-exporter
export-csv="false"
export-excel="true">
</igc-grid-toolbar-exporter>
</igc-grid-toolbar-actions>
</igc-grid-toolbar>
<igc-column
field="Artist"
header="Artist"
data-type="string"
sortable="true">
</igc-column>
<igc-column
field="Debut"
header="Debut"
data-type="number">
</igc-column>
<igc-column
field="GrammyNominations"
header="Grammy Nominations"
data-type="number"
sortable="true">
</igc-column>
<igc-column
field="GrammyAwards"
header="Grammy Awards"
data-type="number"
sortable="true">
</igc-column>
<igc-row-island
child-data-key="Albums"
auto-generate="false">
<igc-column
field="Album"
header="Album"
data-type="string">
</igc-column>
<igc-column
field="LaunchDate"
header="Launch Date"
data-type="date">
</igc-column>
<igc-column
field="BillboardReview"
header="Billboard Review"
data-type="string">
</igc-column>
<igc-column
field="USBillboard200"
header="US Billboard 200"
data-type="string">
</igc-column>
<igc-row-island
child-data-key="Songs"
auto-generate="false">
<igc-column
field="Number"
header="No."
data-type="string">
</igc-column>
<igc-column
field="Title"
header="Title"
data-type="string">
</igc-column>
<igc-column
field="Released"
header="Released"
data-type="date">
</igc-column>
<igc-column
field="Genre"
header="Genre"
data-type="string">
</igc-column>
</igc-row-island>
</igc-row-island>
<igc-row-island
child-data-key="Tours"
auto-generate="false">
<igc-column
field="Tour"
header="Tour"
data-type="string">
</igc-column>
<igc-column
field="StartedOn"
header="Started on"
data-type="string">
</igc-column>
<igc-column
field="Location"
header="Location"
data-type="string">
</igc-column>
<igc-column
field="Headliner"
header="Headliner"
data-type="string">
</igc-column>
<igc-row-island
child-data-key="TourData"
auto-generate="false">
<igc-column
field="Country"
header="Country"
data-type="string">
</igc-column>
<igc-column
field="TicketsSold"
header="Tickets Sold"
data-type="number">
</igc-column>
<igc-column
field="Attendants"
header="Attendants"
data-type="number">
</igc-column>
</igc-row-island>
</igc-row-island>
</igc-hierarchical-grid>
</div>
</div>
</div>
<!-- This script is needed only for parcel and it will be excluded for webpack -->
<% if (false) { %><script src="src/index.ts"></script><% } %>
</body>
</html>
html/* shared styles are loaded from: */
/* https://static.infragistics.com/xplatform/css/samples */
css
このサンプルが気に入りましたか? 完全な Ignite UI for Web Componentsツールキットにアクセスして、すばやく独自のアプリの作成を開始します。無料でダウンロードできます。
複数列ヘッダー グリッドのエクスポート
定義された複数列ヘッダーを使用して IgcHierarchicalGridComponent
をエクスポートできるようになりました。すべてのヘッダーは、IgcHierarchicalGridComponent
に表示されるときに、エクスポートされた Excel ファイルに反映されます。エクスポートされたデータから定義された複数列ヘッダーを除外する場合は、ExporterOption
IgnoreMultiColumnHeaders
を true に設定できます。
Excel テーブルは複数の列ヘッダーをサポートしていないため、エクスポートされた IgcHierarchicalGridComponent はテーブルとしてフォーマットされません。
import 'igniteui-webcomponents-grids/grids/combined';
import { IgcHierarchicalGridComponent, IgcGridToolbarExporterComponent } from 'igniteui-webcomponents-grids/grids';
import MultiColumnsExportData from './MultiColumnsExportData.json';
import { IgcExporterEventArgs } from 'igniteui-webcomponents-grids/grids';
import "igniteui-webcomponents-grids/grids/themes/light/bootstrap.css";
import "./index.css";
export class Sample {
private hierarchicalGrid1: IgcHierarchicalGridComponent
private hGridToolbarExporter: IgcGridToolbarExporterComponent
private _bind: () => void;
constructor() {
var hierarchicalGrid1 = this.hierarchicalGrid1 = document.getElementById('hierarchicalGrid1') as IgcHierarchicalGridComponent;
var hGridToolbarExporter = this.hGridToolbarExporter = document.getElementById('hGridToolbarExporter') as IgcGridToolbarExporterComponent;
this.webHierarchicalGridExportMultiColumnHeaders = this.webHierarchicalGridExportMultiColumnHeaders.bind(this);
this._bind = () => {
hierarchicalGrid1.data = this.multiColumnsExportData;
hGridToolbarExporter.addEventListener("exportStarted", this.webHierarchicalGridExportMultiColumnHeaders);
}
this._bind();
}
private _multiColumnsExportData: any[] = MultiColumnsExportData;
public get multiColumnsExportData(): any[] {
return this._multiColumnsExportData;
}
public webHierarchicalGridExportMultiColumnHeaders(args: CustomEvent<IgcExporterEventArgs>): void {
if (args.detail.options) {
args.detail.options.ignoreMultiColumnHeaders = false;
}
}
}
new Sample();
ts<!DOCTYPE html>
<html>
<head>
<title>Sample | Ignite UI | Web Components | infragistics</title>
<meta charset="UTF-8" />
<link rel="shortcut icon" href="https://static.infragistics.com/xplatform/images/browsers/wc.png" >
<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons" />
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Kanit&display=swap" />
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Titillium Web" />
<link rel="stylesheet" href="https://static.infragistics.com/xplatform/css/samples/shared.v8.css" />
<link rel="stylesheet" href="/src/index.css" type="text/css" />
</head>
<body>
<div id="root">
<div class="container sample ig-typography">
<div class="container fill">
<igc-hierarchical-grid
auto-generate="false"
primary-key="ID"
moving="true"
allow-filtering="true"
name="hierarchicalGrid1"
id="hierarchicalGrid1">
<igc-grid-toolbar
>
<igc-grid-toolbar-actions
>
<igc-grid-toolbar-exporter
export-csv="false"
export-excel="true"
name="hGridToolbarExporter"
id="hGridToolbarExporter">
</igc-grid-toolbar-exporter>
</igc-grid-toolbar-actions>
</igc-grid-toolbar>
<igc-column-group
header="General Information">
<igc-column
field="Company"
data-type="string"
sortable="true"
resizable="true">
</igc-column>
<igc-column-group
header="Personal Details">
<igc-column
field="ContactName"
data-type="string"
sortable="true"
resizable="true">
</igc-column>
<igc-column
field="ContactTitle"
data-type="string"
sortable="true"
resizable="true">
</igc-column>
</igc-column-group>
</igc-column-group>
<igc-column-group
header="Address Information">
<igc-column-group
header="Location">
<igc-column
field="Address"
data-type="string"
sortable="true"
resizable="true">
</igc-column>
<igc-column
field="City"
data-type="string"
sortable="true"
resizable="true">
</igc-column>
<igc-column
field="PostalCode"
data-type="string"
sortable="true"
resizable="true">
</igc-column>
<igc-column
field="Country"
data-type="string"
sortable="true"
resizable="true">
</igc-column>
</igc-column-group>
<igc-column-group
header="Contact Information">
<igc-column
field="Phone"
data-type="string"
sortable="true"
resizable="true">
</igc-column>
<igc-column
field="Fax"
data-type="string"
sortable="true"
resizable="true">
</igc-column>
</igc-column-group>
</igc-column-group>
<igc-row-island
child-data-key="ChildCompanies"
auto-generate="false"
moving="true">
<igc-column-group
header="General Information">
<igc-column
field="Company"
data-type="string"
sortable="true"
resizable="true">
</igc-column>
<igc-column-group
header="Personal Details">
<igc-column
field="ContactName"
data-type="string"
sortable="true"
resizable="true">
</igc-column>
<igc-column
field="ContactTitle"
data-type="string"
sortable="true"
resizable="true">
</igc-column>
</igc-column-group>
</igc-column-group>
<igc-column-group
header="Address Information">
<igc-column-group
header="Location">
<igc-column
field="Address"
data-type="string"
sortable="true"
resizable="true">
</igc-column>
<igc-column
field="City"
data-type="string"
sortable="true"
resizable="true">
</igc-column>
<igc-column
field="PostalCode"
data-type="string"
sortable="true"
resizable="true">
</igc-column>
<igc-column
field="Country"
data-type="string"
sortable="true"
resizable="true">
</igc-column>
</igc-column-group>
<igc-column-group
header="Contact Information">
<igc-column
field="Phone"
data-type="string"
sortable="true"
resizable="true">
</igc-column>
<igc-column
field="Fax"
data-type="string"
sortable="true"
resizable="true">
</igc-column>
</igc-column-group>
</igc-column-group>
<igc-row-island
child-data-key="ChildCompanies"
auto-generate="false"
moving="true">
<igc-column-group
header="General Information">
<igc-column
field="Company"
data-type="string"
sortable="true"
resizable="true">
</igc-column>
<igc-column-group
header="Personal Details">
<igc-column
field="ContactName"
data-type="string"
sortable="true"
resizable="true">
</igc-column>
<igc-column
field="ContactTitle"
data-type="string"
sortable="true"
resizable="true">
</igc-column>
</igc-column-group>
</igc-column-group>
<igc-column-group
header="Address Information">
<igc-column-group
header="Location">
<igc-column
field="Address"
data-type="string"
sortable="true"
resizable="true">
</igc-column>
<igc-column
field="City"
data-type="string"
sortable="true"
resizable="true">
</igc-column>
<igc-column
field="PostalCode"
data-type="string"
sortable="true"
resizable="true">
</igc-column>
<igc-column
field="Country"
data-type="string"
sortable="true"
resizable="true">
</igc-column>
</igc-column-group>
<igc-column-group
header="Contact Information">
<igc-column
field="Phone"
data-type="string"
sortable="true"
resizable="true">
</igc-column>
<igc-column
field="Fax"
data-type="string"
sortable="true"
resizable="true">
</igc-column>
</igc-column-group>
</igc-column-group>
</igc-row-island>
</igc-row-island>
</igc-hierarchical-grid>
</div>
</div>
</div>
<!-- This script is needed only for parcel and it will be excluded for webpack -->
<% if (false) { %><script src="src/index.ts"></script><% } %>
</body>
</html>
html/* shared styles are loaded from: */
/* https://static.infragistics.com/xplatform/css/samples */
css
固定された列ヘッダーを使用してグリッドをエクスポートする
デフォルトでは、Excel エクスポーター サービスは、スクロール可能な (固定されていない) 列ヘッダーを使用してグリッドをエクスポートします。エクスポートされた Excel ファイルの上にあるすべてのヘッダーを固定して、ユーザーがレコードをスクロールしても常に表示されたままにするシナリオがあります。これを実現するには、ExporterOption
FreezeHeaders
を true に設定します。
constructor() {
var hGridToolbarExporter = document.getElementById('hGridToolbarExporter') as IgcGridToolbarExporterComponent;
hGridToolbarExporter.addEventListener("exportStarted", this.webGridExportEventFreezeHeaders);
}
public webGridExportEventFreezeHeaders(args: CustomEvent<IgcExporterEvent>): void {
args.detail.options.freezeHeaders = true;
}
ts
既知の問題と制限
制限 | 説明 |
---|---|
階層レベル | Excel エクスポーター サービスは、最大 8 レベルの階層を作成できます。 |
ワークシートの最大サイズ | Excel でサポートされているワークシートの最大サイズは、1,048,576 行 x 16,384 列です。 |
ピン固定列された列のエクスポート | エクスポートされた Excel ファイルでは、ピン固定列は固定されませんが、グリッドに表示されるのと同じ順序で表示されます。 |
API リファレンス
ExcelExporterService
ExcelExporterOptions
IgcHierarchicalGridComponent
その他のリソース
コミュニティに参加して新しいアイデアをご提案ください。