SpreadJS使用教程:如何利用SpreadJS实现JavaScript中导入和导出Excel文件(上)

本篇教程展示了SpreadJS的部分功能,即前端导入、导出Excel文件,更多的功能如数据分析、打印、导出PDF、自定义公式函数等。

JavaScript是一个涵盖多种框架、直译式、可以轻松自定义客户端的脚本语言,在Web应用程序中,更加易于编码和维护。而Excel作为一款深受用户喜爱的电子表格工具,借助其直观的界面、出色的计算性能和图表工具,已经成为数据统计领域不可或缺的软件之一。

如果有一款产品,能够将二者完美融合,将在前端表格数据处理、数据填 、数据可视化、在线文档等领域大放异彩。

设置JavaScript的电子表格项目

创建一个新的HTML页面并添加对SpreadJS下载包中Spread.Sheets脚本和CSS文件的引用:

<html>  <head>      <title>SpreadJS ExcelIO</title>      <script src="http://code.jquery.com/jquery-2.1.3.min.js" type="text/javascript"></script>      <script src="http://code.jquery.com/ui/1.11.4/jquery-ui.min.js" type="text/javascript"></script>      <link href="http://cdn.grapecity.com/spreadjs/hosted/css/gc.spread.sheets.excel2013white.10.1.0.css" rel="stylesheet" type="text/css" />      <script type="text/javascript" src="http://cdn.grapecity.com/spreadjs/hosted/scripts/gc.spread.sheets.all.10.1.0.min.js"></script>      <script type="text/javascript" src="http://cdn.grapecity.com/spreadjs/hosted/scripts/interop/gc.spread.excelio.10.1.0.min.js"></script>  </head>  <body>      <div id="ss" style="height:600px ; width :100%; "></div>  </body>  </html>

然后在初始化Spread.Sheets组件的页面中添加一个脚本,并使用div元素来包含它(因为SpreadJS电子表格组件使用了Canvas 绘制界面,所以这是初始化组件所必需的一步):

<script type="text/javascript">      $(document).ready(function () {          var workbook = new GC.Spread.Sheets.Workbook(document.getElementById("ss"));      });  </script>  </head>  <body>  <div id="ss" style="height:600px ; width :100%; "></div>  </body>

添加Excel导入代码

我们需要创建一个客户端ExcelIO组件的实例,并用它来实际打开 Excel 文件:

excelIO = new GC.Spread.Excel.IO();

然后我们需要添加一个导入文件的函数。在此示例中,我们导入本地文件,但您可以对服务器上的文件执行相同的操作。如果要从服务器端导入文件,则需要引用该位置。以下是输入元素的示例,用户可以在其中输入文件的位置:

<input type="text" id="importUrl" value="http://www.testwebsite.com/files/TestExcel.xlsx" style="width:300px" />

完成上述步骤后,您可以直接在脚本代码中访问该值:

excelUrl = $("#importUrl").val();

以下导入函数的代码只使用本地文件作为“excelUrl”变量:

function ImportFile() {      var excelUrl = "./test.xlsx";      var oReq = new XMLHttpRequest();      oReq.open('get', excelUrl, true);      oReq.responseType = 'blob';      oReq.onload = function () {          var blob = oReq.response;          excelIO.open(blob, LoadSpread, function (message) {              console.log(message);          });      };      oReq.send(null);  }  function LoadSpread(json) {      jsonData = json;      workbook.fromJSON(json);      workbook.setActiveSheet("Revenues (Sales)");  }

无论您是在服务器上还是在本地引用文件,都需要在 $(document).ready函数内的脚本中添加以下内容:

$(document).ready(function () {      $.support.cors = true;      workbook = new GC.Spread.Sheets.Workbook(document.getElementById("ss"));      //...  });


想要获得 SpreadJS 更多资源或其他相关下载的朋友,请点击这里

想要购买正版 SpreadJS 产品的朋友,请点击这里

1562034226.jpg

标签:

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年6月13日
下一篇 2019年6月13日

相关推荐

发表回复

登录后才能评论