ASP.NET Core MVC コントロールヘルプ
Excelのインポートまたはエクスポート
コントロールの使用 > FlexGrid > FlexGridの使用 > Excelのインポートまたはエクスポート

このトピックでは、FlexGridコンテンツをExcelのxlsxファイルにエクスポートまたはインポートする方法を示します。FlexGridコンテンツをExcel形式にエクスポートするには、FlexGridインスタンスをFlexGridXlsxConverter.saveメソッドに渡します。これにより、xlsxファイルコンテンツが生成され、このコンテンツをローカルファイルに保存したり、サーバーに送ることができます。Excel(xlsxファイル)コンテンツをFlexGridコントロールにインポートするには、FlexGridインスタンスとxlsxファイルコンテンツをFlexGridXlsxConverter.loadメソッドに渡します。この例では、「クイックスタート」でアプリケーションに追加したSale.csモデルを使用します。

次のコード例は、FlexGridコンテンツとExcel xlsxファイル間でエクスポートまたはインポートする方法を示します。

Controller コード

C#
コードのコピー
private static List<Sale> Sales = Sale.GetData(50).ToList<Sale>();
public IActionResult ExcelImportExport()
{
    return View(Sales);
}

View コード

CSHTML
コードのコピー
@model IEnumerable<Sale>

<!-- FlexGridをExcelxlsxファイルとの間でインポートおよびエクスポートするためのSheetJSライブラリリファレンス。 -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/jszip/2.5.0/jszip.min.js"></script>
<script>
    function ImportExcel() {
        var grid = wijmo.Control.getControl("#flexGrid");
        var file = document.getElementById("importExcel").files[0];
        var includeHeader = document.getElementById("importHeader").checked;
        wijmo.grid.xlsx.FlexGridXlsxConverter.load(grid, file , { includeColumnHeaders: includeHeader });
    }
    function ExportExcel() {
        var grid = wijmo.Control.getControl("#flexGrid");
        var exportHeader = document.getElementById("exportHeader").checked;
        wijmo.grid.xlsx.FlexGridXlsxConverter.save(grid, { includeColumnHeaders: exportHeader }, "FlexGrid.xlsx");
    }
    
</script>
<div>
    Headers Import/Export
    <br />
    <div>
        <input type="checkbox" id="importHeader" /><label for="importHeader">列ヘッダーのインポート</label><br />
        <input type="checkbox" id="exportHeader" /><label for="exportHeader">列ヘッダーのエクスポート</label>
    </div>
    <div>
        Excelをインポートする<br />
        <div>
            <input type="file" id="importExcel" /><button onclick="ImportExcel()">Excelをインポートする</button>
        </div>
    </div>
    <div>
        Excelをエクスポートする<br />
        <button onclick="ExportExcel()">Excelをエクスポートする</button>
    </div>
</div>

<c1-flex-grid id="flexGrid" auto-generate-columns="false" height="500px">
    <c1-items-source initial-items-count="500" source-collection="Model"></c1-items-source>
    <c1-flex-grid-column binding="ID"></c1-flex-grid-column>
    <c1-flex-grid-column binding="開始日" header="Start Date" format="d"></c1-flex-grid-column>
    <c1-flex-grid-column binding="終了日" header="End Date" format="d"></c1-flex-grid-column>
    <c1-flex-grid-column binding="国名"></c1-flex-grid-column>
    <c1-flex-grid-column binding="製品名"></c1-flex-grid-column>
    <c1-flex-grid-column binding="色"></c1-flex-grid-column>
    <c1-flex-grid-column binding="金額" format="c" aggregate="Sum"></c1-flex-grid-column>
    <c1-flex-grid-column binding="金額2" header="Pending" format="c2" aggregate="Sum"></c1-flex-grid-column>
    <c1-flex-grid-column binding="割引" format="p1" aggregate="Avg"></c1-flex-grid-column>
    <c1-flex-grid-column binding="アクティブ"></c1-flex-grid-column>
</c1-flex-grid>