当前位置:  开发笔记 > 编程语言 > 正文

如何通过Javascript生成Excel

如何解决《如何通过Javascript生成Excel》经验,为你挑选了3个好方法。

有没有办法通过Javascript生成Excel/CSV?(也应该是浏览器兼容)



1> mg1075..:

github上有一个名为Excel Builder(.js)的有趣项目, 它提供了一种下载Excel xlsx文件的客户端方式,并包含格式化Excel电子表格的选项.
https://github.com/stephenliberty/excel-builder.js

使用此库可能会遇到浏览器和Excel兼容性问题,但在适当的条件下,它可能非常有用.

演示似乎有一些承诺.
http://excelbuilderjs.com/index.html

另一个github项目具有较少的Excel选项,但对Excel兼容性问题的担忧较少,可在此处找到:ExcellentExport.js
https://github.com/jmaister/excellentexport

如果您使用的是AngularJS,则有ng-csv:
一个"将数组和对象转换为可下载的CSV文件的简单指令".


2015年,有更多的库,如[ng-xlsx](https://libraries.io/bower/angular-xlsx)和[js-xlsx](https://libraries.io/bower/js-xlsx)
在2016年底有一个非常好的库https://github.com/guyonroche/exceljs(我试过Excel Builder但是在你试图保存你的文件时确实存在问题)
不再维护Excel Builder(.js).随着网站的关闭,也没有相关的文档.

2> digitaleagle..:

如果您可以在服务器上生成Excel文件,那可能是最好的方法.使用Excel,您可以添加格式并使输出看起来更好.已经提到了几个Excel选项.如果你有PHP后端,你可以考虑使用phpExcel.

如果你试图用javascript在客户端上做所有事情,我不认为Excel是一个选项.您可以创建CSV文件并创建数据URL以允许用户下载它.

我创建了一个JSFiddle来演示:http: //jsfiddle.net/5KRf6/3/

这个javascript(假设您正在使用jQuery)将从表中的输入框中取出值并构建CSV格式的字符串:

var csv = "";
$("table").find("tr").each(function () {
    var sep = "";
    $(this).find("input").each(function () {
        csv += sep + $(this).val();
        sep = ",";
    });
    csv += "\n";
});

如果您愿意,可以将数据放入页面上的标签中(在我的例子中是id为"csv"的标签):

$("#csv").text(csv);

您可以使用以下代码生成该文本的URL:

window.URL = window.URL || window.webkiURL;
var blob = new Blob([csv]);
var blobURL = window.URL.createObjectURL(blob);

最后,这将添加一个下载该数据的链接:

$("#downloadLink").html("");
$("").
attr("href", blobURL).
attr("download", "data.csv").
text("Download Data").
appendTo('#downloadLink');



3> Sujit Kumar ..:

类似的答案贴在这里.

链接工作示例

var sheet_1_data = [{Col_One:1, Col_Two:11}, {Col_One:2, Col_Two:22}];
var sheet_2_data = [{Col_One:10, Col_Two:110}, {Col_One:20, Col_Two:220}];
var opts = [{sheetid:'Sheet One',header:true},{sheetid:'Sheet Two',header:false}];
var result = alasql('SELECT * INTO XLSX("sample_file.xlsx",?) FROM ?', [opts,[sheet_1_data ,sheet_2_data]]);

需要主要图书馆 -

 
 

推荐阅读
周扒pi
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有