乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > 前端怎么导出后台生成的excel-前端读取excel,javascript读取excel文件

前端怎么导出后台生成的excel-前端读取excel,javascript读取excel文件

作者:乔山办公网日期:

返回目录:excel表格制作


如何将excel表里的数据提取到word文档里的解决方法如下:
1、复制法。即将原来的数据直接复制后,在word中进行粘贴,这样数据就直接导入到word文档中了。
2、邮件合并法。在word中启用邮件合并,按向导的过程分别制作好需要插入的需要,数据源,对应关系,最后执行合并就可以了。
3、程序法。在word中插入合并域(如果是有规律的表格,可以不用这一步),然后编写vba程序,从excel文件中读取数据,然后写入到word中指定的位置。
上面三个方法中,方法1简单快捷,但是每次都需要操作,如果数据不是连续的块,需要复制粘贴多次,相对来说麻烦一点。方法2,一次设置可以多次使用,但不够灵活。方法3方便可以多次重复使用,但需要有一定的编程基础,可以根据工作的实际选择一个最适合的完成这个工作。

导出不是前端能搞定的,比如jsp页面上点击按钮,先要在后台生成数据,然后jsp页面弹出下载窗口,点选路径就保存到本地计算机了。
假如你用的server端是servlet,程序可以加以下code:
response.setContentType("application/vnd.ms-excel");
ServletOutputStream out = response.getOutputStream();

//加入你poi写excel的代码……

out.flush();
out.close();

题主所说的导出指的是让前端去下载后台的Excel还时还要有其他操作呢?

如果单纯去下载,可以基于XMLHttpRequest请求,请求一个服务器或者后端的Excel文件,然后设置responseType为blob二进制流来传输。例如:

var excelFilePath = 'resources/Excel/importExcel.xlsx';

var xhr = new XMLHttpRequest();

xhr.open('GET', excelFilePath, true);

xhr.responseType = 'blob';   

xhr.onload = function(e) {

     var blob = this.response;

}

之后onload里面的blob就是这个Excel文件的二进制流,接下来只要将blob转成文件进行下载就可以了,JS中有很多开源7a686964616fe78988e69d83339的第三方类库可以做到,例如filesaver。如果是用filesaver的话,调用其中的saveAs方法就可以将该blob转成对应文件进行下载

例如

var fileName = "test.xlsx"

saveAs(blob, fileName);

把上述方法加到onload 方法中,前端就会下载一个名为test.xlsx的Excel文件,内容就是后端传过来的Excel

如果还要有其他操作例如展示或者在线的编辑,就需要一些第三方控件来完成了,比如SpreadJS

上述的方法也是在他们的官方论坛中学到的,参考网址:

网页链接

相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网