Features

Excel Export

Excel Export

The sample demonstrates how to export the contents of MultiRow control to an Excel (xlsx) format.

Features

Active
End
Product
Color
Discount
Amount2
Product: Gadget (53 items)
Country: German (8 items)

Settings

Description

The sample demonstrates how to export the contents of MultiRow control to an Excel (xlsx) format.

To export MultiRow contents, pass the MultiRow instance to the FlexGridXlsxConverter.save method.
This generates xlsx file content, which can be saved to a local file or sent to a server.

Note: You must add a jszip.js library to your application. Its CDN link is: http://cdnjs.cloudflare.com/ajax/libs/jszip/2.2.1/jszip.min.js

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
using MultiRowExplorer.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web.Mvc;
 
namespace MultiRowExplorer.Controllers
{
    public partial class MultiRowController : Controller
    {
        public ActionResult ExcelExport()
        {
            return View(Sale.GetData(100));
        }
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
@model IEnumerable<Sale>
@{
    ViewBag.DemoSettings = true;
}
 
@section Styles{
    <style>
        .checkbox-div {
            padding-left: 15px;
            display: inline-block;
            vertical-align: middle;
        }
 
            .checkbox-div .checkbox {
                display: inline-block;
                vertical-align: middle;
            }
    </style>
}
 
@section Scripts{
    <script>
        var multiRow, colHeaderCheckBox;
        c1.documentReady(function () {
            multiRow = wijmo.Control.getControl("#excelExportMultiRow");
            colHeaderCheckBox = document.getElementById("colHeaderCheckBox");
        });
 
        function exportXlsx() {
            if (multiRow) {
                wijmo.grid.xlsx.FlexGridXlsxConverter.save(multiRow, { includeStyles: false, includeColumnHeaders: true }, 'MultiRow.xlsx');
            }
        }
 
    </script>
}
 
@(Html.C1().MultiRow<Sale>().Id("excelExportMultiRow")
    .Bind(Model)
    .ShowGroups(true)
    .GroupBy("Product", "Country")
    .IsReadOnly(true)
    .CssClass("multirow")
    .LayoutDefinition(LayoutDefinitionsBuilders.Sales)
)
 
@section Settings{
    <div class="col-md-12 col-xs-12">
        <div class="form-inline well well-lg">
            <a download="MultiRow.xlsx" class="btn btn-default" id="exportBtn" onclick="exportXlsx();">@Html.Raw(Resources.MultiRowExplorer.ExcelExport_Text3)</a>
        </div>
    </div>
}
@section Description{
<p>@Html.Raw(Resources.MultiRowExplorer.ExcelExport_Text0)</p>
 
<p>@Html.Raw(Resources.MultiRowExplorer.ExcelExport_Text1)</p>
 
<p>@Html.Raw(Resources.MultiRowExplorer.ExcelExport_Text2)</p>
 
}