导出Excel插件——Export-CSV ---20150610

出处:http://bbs.hcharts.cn/thread-99-1-1.html
 
导出 Excel 插件—— Export-CSV

一、插件信息


二、原理解析
通过分析源码,其原理是遍历Highcharts的数据列,并取值构造成逗号分开的字符串,并提交到指定的导出服务器下载保存为.csv文件。

1、CSV

CSV即逗号分隔值文件格式,通常是纯文本文件。如果你的机器上装了Microsoft Excel的话,.csv 文件默认是被 Excel 打开的。


2、自定义导出服务器
Export-CSV导出服务器比较简单,实现代码如下

  1. <?php
  2. $csv = $_POST['csv'];
  3. if ($csv) {
  4.        header('Content-type: text/csv');
  5.        header('Content-disposition: attachment;filename=chart.csv');
  6.        echo $csv;
  7. }
  8. ?>
复制代码


自定义导出事件

  1. $("#download").click(function(){
  2.     Highcharts.post('export-cvs.php', { //其中export-cvs.php即为上面代码
  3.         csv: chart.getCSV()
  4.    });
  5. })
复制代码


3、中文网提供的导出服务器
地址:http://export.hcharts.cn/cvs.php

实例:

  1. Highcharts.post('http://export.hcharts.cn/cvs.php', { 
  2.   csv: chart.getCSV()
  3. });
复制代码
补充:Office Excel打开时乱码问题解决办法

1、乱码分析
     我用记事本或WPS Excel打开导出的cvs文件时,中文不会乱码,而用Office的Excel打开时,中文就乱码。后来网上查了下,原因是Office的Excel默认是以ANSI 形式打开的,也就是对应中文GBK编码,而默认导出的是UTF-8格式,解决办法就是编码转换。

2、解决办法
     将获取的cvs代码转换为GBK编码即可,修改后的导出服务器代码如下:

PHP版:
  1. <?php
  2. /**
  3. * DISCLAIMER: Don't use [url=http://www.highcharts.com/studies/csv-export/csv.php]www.highcharts.com/studies/csv-export/csv.php[/url] in 
  4. * production! This file may be removed at any time.
  5. * 由Highcharts中文网修改提供中文乱码解决办法
  6. */
  7. $csv = $_POST['csv'];
  8. $csv = iconv("utf-8","gbk",$csv);//转换成GBK编码
  9. if ($csv) {
  10.         header('Content-type: text/csv;charset=gbk');
  11.         header('Content-disposition: attachment;filename=chart.csv');
  12.         echo $csv;
  13. }
  14. ?>
复制代码


java版:
  1. <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
  2. <%
  3.     String csv = new String(request.getParameter("csv").getBytes("utf-8"),"gbk");
  4.     if(csv!=null && !"".equals(csv)) {
  5.         response.setHeader("Content-type","text/csv");
  6.         response.setHeader("Content-disposition", "attachment;filename=chart.csv");
  7.         response.getWriter().print(csv);
  8.     }
  9. %>
复制代码

另外,从提交cvs代码处转换编码也可实现。
补充:
java版的导出服务器代码如下:
  1. <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
  2. <% 
  3.     String csv = request.getParameter("csv");
  4.     if(!"".equals(csv)) {
  5.             response.setHeader("Content-type","text/csv");
  6.             response.setHeader("Content-disposition", "attachment;filename=chart.csv");
  7.             response.getWriter().print(csv);
  8.     }
  9. %>
复制代码

 

 

 

转载于:https://www.cnblogs.com/thelongmarch/p/4567041.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: js-export-excel是一个JavaScript库,用于在网页中导出Excel文件。 这个库提供了一个简单易于使用的方法,可以将表格或数据导出Excel文件。我们只需要在网页中引入这个库,并调用相应的方法,就可以实现导出Excel的功能。 使用js-export-excel的好处是,它支持多种数据格式的导出,包括纯文本、表格、图像等。我们可以根据具体的需求选择合适的导出格式。 另外,这个库还提供了一些定制化的选项,可以设置Excel文件的名称、文件格式、样式等。我们可以通过这些选项来控制导出文件的外观和功能。 使用js-export-excel并不复杂。我们只需要在需要导出Excel的地方执行相应的代码,就可以将数据导出Excel文件。这对于需要频繁导出数据的网站或应用程序来说,非常方便。 总之,js-export-excel是一个非常实用的JavaScript库,可以帮助我们在网页中实现导出Excel的功能。无论是导出表格、文本还是图像,都可以通过这个库来实现。而且,它的使用非常简单,只需要引入库文件并调用相应的方法即可。 ### 回答2: js-export-excel是一个用于在前端网页中导出Excel文件的JavaScript库。它提供了一种简单方便的方法,让开发人员能够将数据导出Excel文件,从而方便地进行数据分析和报表生成等工作。 它的使用非常简单,只需在前端页面引入相关的JavaScript文件,并在需要导出Excel的地方调用对应的函数即可。通过传递需要导出的数据和文件名等参数,js-export-excel会自动将数据转换为Excel文件,并提供下载链接。 此外,js-export-excel还支持一些可选参数,比如设置Excel文件的表头、内容样式、日期格式等。这些参数可以根据实际需求进行调整,使导出Excel文件更符合个性化的需求。 js-export-excel的主要优点是简单易用,无需后端服务的支持,可以直接在前端实现数据导出功能。它支持大部分现代浏览器,并且具备良好的兼容性。 然而,需要注意的是,js-export-excel只适用于将前端页面中的记录导出Excel文件,并不支持对已有Excel文件的编辑和操作。如果需要在前端页面中对Excel文件进行更复杂的操作,可能需要其他更专业的JavaScript库或后端服务的支持。 ### 回答3: js-export-excel是一种用于在JavaScript中导出Excel文件的库。它提供了一种简单的方式来生成包含表格数据的Excel文件,并且可以通过浏览器直接下载。 使用js-export-excel,我们可以通过以下几个步骤来导出Excel文件: 1. 引入js-export-excel库:我们需要将js-export-excel库的脚本文件引入到我们的HTML页面中,可以通过CDN链接或者下载本地文件进行引入。 2. 创建Excel数据:我们需要定义一个包含要导出的表格数据的数组。每个数组元素表示一行数据,每个元素的属性表示行中的列数据。 3. 配置Excel表格:我们可以定义一些表格的展示配置,例如表头样式、单元格样式等,以及一些相关的选项,如是否显示边框、是否冻结表头等。 4. 导出Excel文件:使用js-export-excel提供的方法,我们可以将表格数据和配置传入,然后生成Excel文件并以文件形式下载到浏览器。 js-export-excel是一个功能强大且易于使用的库,它使得在前端开发中导出Excel文件变得简单和便捷。无论是用于数据报表、数据导出还是数据备份等需求,都可以利用js-export-excel来实现。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值