js前端生成excel表格,自定义样式

// 样式需要写入行内,通过class设置的样式,不会被带入excel
let str = '<table>
          <tr>
            <td style="color: #ffffff; background: pink">姓名</td>
            <td>职别</td>
          </tr>
          <tr>
            <td>张三</td>
            <td>技术员</td>
          </tr>
        </table>'
 
// 方法一
function exportExecl1(){
    const uri = 'data:application/vnd.ms-excel;base64,' + window.btoa(unescape(encodeURIComponent(str)))

    const link = document.createElement("a");
    link.href = uri;
    // 下载的文件命名 也可以(5月数据表.xlsx)
    link.download =  "5月数据表.csv";
    link.click();
}
 
// 方法二 
function exportExecl2(){
    const uri = 'data:text/csv;charset=utf-8,\ufeff' + encodeURIComponent(str);

    const link = document.createElement("a");
    link.href = uri;
    // 下载的文件命名 也可以(5月数据表.xlsx)
    link.download =  "5月数据表.csv";
    link.click();

就是如此简单

优点:
1、少量数据导出速度快,不需要消耗服务器资源

缺点:
1、只适合导出少量数据
2、数据量如果过大,太占用内存会导致超时失败,当前tab页进程崩溃。
3、前端数据有滞后性

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容