zoukankan      html  css  js  c++  java
  • js excel文件导出和下载与文件导出为zip压缩包并下载

     原理: js可以通过base64或者blob,把一个包含一个<table>的<html>串,导出xx.xls格式,而Excel可以打开html文件,这样看起来,就是一个成功的Excel导出;

     var tableHtml = '<html><head><meta charset="UTF-8"></head><body><table><tr><td>Carson test</td></tr></table></body></html>';
     // base64 url形式文件下载
     var oa = document.createElement('a'); // 创建a标签
     oa.href = 'data:application/vnd.ms-excel;base64,'+window.btoa(tableHtml); // a标签herf属性定义值
     oa.download = 'htmltable-base64.xls'; // 通过A标签,设置文件名
     oa.click()

     文件,在js中,除了可以是base64,也可以是一个blob,

     - base64形式的文件描述,在js或者html中,就是一个很长的base64字符串;

     - blob形式的文件描述,在js或者html中.是一个url形式的字符串,她指向的是浏览器内存中的一个文件片段,列如: "blob:http://sheetjs.com/f999f57f-b79f-4293-a317-3bbf6ea58788" ,

     blob形式的Excel导出,列:

    // blob url形式文件下载
    var tableHtml = '<html><head><meta charset="UTF-8"></head><body><table><tr><td>Carson PPX</td></tr></table></body></html>';
    var excelBlob = new Blob([tableHtml],{type: 'application/vnd.ms-excel'});
    var oa = document.createElement('a');
    oa.href = URL.createObjectURL(excelBlob);
    oa.download = 'htmltable-blob.xls';
    document.body.appendChild(oa);
    oa.click();

     注: 只有xls格式才可以在Excel中打开,xlsx不行; 推荐一个Excel插件 地址:https://github.com/SheetJS/js-xlsx

    注: 本文章参考 https://www.cnblogs.com/youryida/p/9275615.html 博客;

  • 相关阅读:
    QML控件设置style样式
    QML:ListElement: cannot use script for property value
    内存更换乌龙事件
    服务器的寿命到底有多长
    这些年渠道管理系统上发生的那些事
    IT囧事之误删测试环境的生产库
    旁观一个软件产品的终结
    一根网线引发的血案
    论代码规范命名的重要性
    服务器故障之内存损坏
  • 原文地址:https://www.cnblogs.com/chenjiangyang/p/12760473.html
Copyright © 2011-2022 走看看