zoukankan      html  css  js  c++  java
  • web 前端导出excel

    一.导出文件,使用web 前端,在firefox 和Chrome 中使用  a 标签(或者js)就可以实现,如下:其中,

    1. download 设置下载的文件名。

    2. href 加上 data:text/txt;charset=utf-8  分别设置点击link 是下载文件, 编码是utf-8 . 这个逗号后面的就是保存在文件中的内容了

    <html>
    <head>
    </head>
    <body>
    <a id="test" download="download.txt" href="data:text/txt;charset=utf-8,My name is LiHuan">download</a>
    </body>
    </html>

    二.

    csv 文件可以用Excel打开, 如果是导出一个table 的话,使用Excel 就方便很多了。

    问题是: 如何分行, 分列?

    理论上 : 分列使用 , 号分割, 分行用 .

    可以用以上方式,会发现列可以分开,但是不换行。 看上去不认识 .

    解决方式是使用 encodeURIComponent 进行编码/
    ————————————————

    以上使用的都是utf-8 编码,理论上导出中文应该不是问题。

    但是导出csv 格式的话, 使用Excel 打开会发现中文是乱码,但是用其他文本程序打开确是正常的。

    原因就是少了一个 BOM头 。  ufeff。

    加上一切都正常了,

    ————————————————

    这里有两个改变

    1. 页面的charset 需设置成gb2312

    2. 加上 ufeff BOM 头

    <html>
    <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8">
      <meta name="author" content="oscar999">
      <title>
      </title>
    <script>
    function clickDownload(aLink){
    	var str="栏位1,col2,col3
    value1,value2,value3";
    	str = encodeURIComponent(str);
    	aLink.href="data:text/csv;charset=utf-8, ufeff"+str;
    	aLink.click();
    }
    </script>
    </head>
    <body>
    <a id="test" download="download.csv" onclick="clickDownload(this)" href="#">download</a>
    </body>
    </html>
    

      

      

  • 相关阅读:
    基于Apache+php+mysql的许愿墙网站的搭建
    关于php留言本网站的搭建
    httpd服务的安装、配置
    linux下面桌面的安装
    时间同步ntp服务的安装与配置
    通过挂载系统光盘搭建本地yum仓库的方法
    linux系统root用户忘记密码的重置方法
    linux系统的初化始配置
    Linux下通过PXE服务器安装Linux系统
    Linux设置RSA密钥登录
  • 原文地址:https://www.cnblogs.com/treeleaf/p/12460345.html
Copyright © 2011-2022 走看看