WijMo.js 5.2导出PDF,XLSX

Export.html

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title></title>
    <meta charset="utf-8" />

    <!-- ensure IE uses the latest version of IE (yes, yes...) -->
    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />

    <!-- Third Party -->
    <script src="http://knockoutjs.com/downloads/knockout-3.2.0.js" type="text/javascript"></script>
    <link rel="stylesheet" type="text/css" href="https://netdna.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css" />

    <!-- Wijmo引用 -->
    <script src="scripts/vendor/wijmo.min.js" type="text/javascript"></script>
    <script src="scripts/vendor/wijmo.input.min.js" type="text/javascript"></script>
    <script src="scripts/vendor/wijmo.grid.min.js" type="text/javascript"></script>
    <script src="scripts/vendor/wijmo.knockout.min.js" type="text/javascript"></script>
    <link rel="stylesheet" type="text/css" href="styles/vendor/wijmo.min.css" />
    <!-- 其他组件 -->
    <script src="js/wijmo.grid.filter.min.js"></script>
    <script src="js/wijmo.pdf.min.js"></script>
    <script src="js/wijmo.grid.pdf.min.js"></script>

    <!-- 导出xlsx所需组件 -->
    <script src="js/wijmo.xlsx.min.js"></script>
    <script src="js/wijmo.grid.xlsx.min.js"></script>
    <script src="js/jszip.min.js"></script>
    <!-- app styles -->
    <link href="styles/app.css" rel="stylesheet" type="text/css" />
</head>
<body>
    <div class="container">
        <button id="btnExport" class="btn btn-default">
            导出PDF
        </button>
        <button id="btnCreateDoc" class="btn btn-default">
            创建PDF文档
        </button>

        <button id="btnExportxls" class="btn btn-default">
            导出XLSX
        </button>
        <div id="theGrid" class="row">
            <div class="col-md-6">
                <h4>Result (live):</h4>
                <div data-bind="wjFlexGrid: { itemsSource: data }"></div>
            </div>
        </div>
    </div>
    <script type="application/javascript">
        //<![CDATA[
        onload = function() {

          // create some random data
          var countries = 'US,Germany,UK,Japan,Italy,Greece'.split(',');
          var data = [];
          for (var i = 0; i < 200; i++) {
            data.push({
                id: i,
              country: countries[i % countries.length],
              sales: Math.random() * 10000,
              expenses: Math.random() * 5000
            });
          }

          // show the data in a grid
          var theGrid = new wijmo.grid.FlexGrid('#theGrid', {
            autoGenerateColumns: false,
            columns: [
                { binding: 'id', header: 'ID', width: 60 },
                { binding: 'country', header: 'Country', width: '2*'},
                { binding: 'sales', header: 'Sales', width: '*', format: 'n2'},
                { binding: 'expenses', header: 'Expenses', width: '*', format: 'n2'}
            ],
            itemsSource: data
          });

          // add a filter to show that it works while exporting
          var f = new wijmo.grid.filter.FlexGridFilter(theGrid);

            // export grid to PDF
          document.getElementById('btnExport').addEventListener('click', function() {
                wijmo.grid.pdf.FlexGridPdfConverter.export(theGrid, 'LearnWijmo.pdf', {
                maxPages: 10,
              scaleMode: wijmo.grid.pdf.ScaleMode.PageWidth,
              documentOptions: {
                compress: true,
                header: { declarative: { text: '\t&[Page] of &[Pages]' } },
                footer: { declarative: { text: '\t&[Page] of &[Pages]' } },
                info: { author: 'C1', title: 'Learn Wijmo' }
                    },
                styles: {
                        cellStyle: { backgroundColor: '#ffffff' },
                    altCellStyle: { backgroundColor: '#f9f9f9' },
                    groupCellStyle: { backgroundColor: '#dddddd' },
                    headerCellStyle: { backgroundColor: '#eaeaea' }
                    }
                });
            });

            // create a PDF document with the grid and some other content
          document.getElementById('btnCreateDoc').addEventListener('click', function() {

                // create the document
                var doc = new wijmo.pdf.PdfDocument({
                compress: true,
              header: { declarative: { text: '\t&[Page]\\&[Pages]' } },
              ended: function (sender, args) {
                        wijmo.pdf.saveBlob(args.blob, 'LearnWijmoDoc.pdf');
                    }
                });

            // add some content
                doc.drawText('This is a FlexGrid');

                // add the grid (400pt wide)
                wijmo.grid.pdf.FlexGridPdfConverter.draw(theGrid, doc, 400);

            // finish document
                doc.end();
            });

             // export grid to XLSX
              document.getElementById('btnExportxls').addEventListener('click', function() {

                        // create book with current view
                  var book = wijmo.grid.xlsx.FlexGridXlsxConverter.save(theGrid, {
                    includeColumnHeaders: true,
                    includeRowHeaders: true
                        });
                  book.sheets[0].name = 'Learn Wijmo';

                        // save the book
                  book.save('LearnWijmo.xlsx');
              })
        }
        //]]>
    </script>

</body>

</html>

运行结果如图:

这里写图片描述


这里写图片描述


这里写图片描述


这里写图片描述


Demo下载地址

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值