js把数据导出成excel的中文乱码问题解决
由于项目中有这个需求,网上的方法各种各样,但都没解决问题,几经调试终于成功,分享下源码仅供参考:
download.js
$(document).ready(function() { "use strict";var mo = {init: function() {$('.download').click(function() {var data = $('#txt').val();if (data === '') {return;}mo.JSONToCSVConvertor(data, true);});},JSONToCSVConvertor: function(JSONData, ShowLabel) {var arrData = typeof JSONData !== 'object' ? JSON.parse(JSONData) : JSONData;var CSV = '';if (ShowLabel) {var row = "";for (var index in arrData[0]) {row += index + ',';}row = row.slice(0, -1);CSV += row + '\r\n';}for (var i = 0; i < arrData.length; i++) {var row = "";for (var index in arrData[i]) {var arrValue = arrData[i][index] == null ? "" : '="' + arrData[i][index] + '"';row += arrValue + ',';}row.slice(0, row.length - 1);CSV += row + '\r\n';}if (CSV == '') {growl.error("Invalid data");return;}var fileName = "Result";if (mo.msieversion()) {var IEwindow = window.open();IEwindow.document.write('sep=,\r\n' + CSV);IEwindow.document.close();IEwindow.document.execCommand('SaveAs', true, fileName + ".csv");IEwindow.close();} else {//var uri = 'data:application/csv;charset=utf-8,' + escape(CSV);var uri = 'data:text/csv;charset=utf-8,\uFEFF' + encodeURI(CSV);var link = document.createElement("a");link.href = uri;link.style = "visibility:hidden";link.download = fileName + ".csv";document.body.appendChild(link);link.click();document.body.removeChild(link);}},msieversion: function() {var ua = window.navigator.userAgent;var msie = ua.indexOf("MSIE ");if (msie > 0 || !!navigator.userAgent.match(/Trident.*rv\:11\./)) // If Internet Explorer, return version number{return true;} else { // If another browser,return false;}return false;},main: function() {mo.init();}};mo.main();
});
test.html
<!DOCTYPE html>
<html><title>download csv</title><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><script src="http://code.jquery.com/jquery-1.11.0.min.js"></script><script type="text/javascript" src="download.js"></script></head><body><div align="center"><h3><u>输入JSON数据</u></h3><div class='mydiv'><textarea id="txt" class='txtarea' rows="15" cols="100">[{"Vehicle":"第一个","Date":"6月30日","Location":"山东"},{"Vehicle":"第二个","Date":"6月30日","Location":"上海"},{"Vehicle":"第三个","Date":"6月30日","Location":"北京"},{"Vehicle":"第四个","Date":"6月30日","Location":"深圳"}]</textarea></div><br/><button class="download">下载CSV</button></div></body>
</html>
js把数据导出成excel的中文乱码问题解决相关推荐
- Vue将echarts数据导出成excel文件
Vue将echarts数据导出成excel文件 一.下载vendor插件 下载 vendor 文件放置项目的 src 目录下 链接:https://pan.baidu.com/s/1XYYQ186zo ...
- vue导出excel加一个进度条_vue项目中如何把数据导出成excel文件
Loading... 关于vue中如何把数据导出成excel文件 ### 1. 安装依赖 ``` yarn add file-saver yarn add xlsx yarn add script-l ...
- Pl/sql 如何将oracle的表数据导出成excel文件?
oracle将表数据导出成excel文件的方法 1)在SQL窗体上,查询需要导出的数据 --查询数据条件--select MID,CODE,NAME from Dxc_Goods_Cate where ...
- 查询php 输出表格,php输出excel表格数据-PHP如何将查询出来的数据导出成excel表格(最好做......
PHP如何将查询出来的数据导出成excel表格(最好做... php 把数据导出excel表格有多种方法,使用 phpExcel 等,以下代码接通过 header 生成 excel 文件的代码示例: ...
- 关于数据导出成excel表
关于数据导出成excel表 咱们这里分享简单导出成excel表和筛选导出excel表,希望对各位有帮助,欢迎大家交流和点赞!!!! 我在这里使用的是一个导出工具类,如下: package cn.ms. ...
- SpringBoot实现数据导出成Excel
SpringBoot实现数据导出成Excel SpringBoot实现Excel读取在另一篇文章 文章地址: https://blog.csdn.net/qq_45367825/article/det ...
- jQuery表格数据导出成Excel插件
下载地址 一款能将网页上的Table表格数据导出成Excel文件的插件,这个导出插件使用jQuery代码实现的,很实用的导出Excel插件. dd:
- JS前端--数据导出为EXCEL(支持大量数据导出)
数据导出为excel是前端比较常用的功能.笔者近期在网上收集汇总了几种常用的方法,供大家使用. 1.ActiveXObject("Excel.Application") 这种方法只 ...
- bootstrap table export插件导出pdf格式文件中文乱码问题解决办法
bootstrap table export插件导出pdf格式文件中文乱码的问题折腾了我整整两天,网上到处都是改源码,自己设置字体的方案,我都没搞定.结果今天看到官方文档(地址:GitHub - hh ...
最新文章
- 解决Word 2013, Word 2016的保存太慢的问题
- Google总裁:未来互联网要消失!物联网将无处不在。
- 吴恩达《Machine Learning》精炼笔记 6:关于机器学习的建议
- Neo4j:在Neo4j浏览器的帮助下探索新数据集
- JWT ( JSON Web Token ) 入门教程
- 三角形数、五边形数和六角形数
- 深度学习2.0-26.Regularization减轻overfitting
- JavaScript数据类型之String
- 输入法影响JDK字体?
- C++:以空格分隔的字符串的输入输出
- Ubuntu14.04 64位 JAVA Eclipse ADT AndroidStudio 安装
- ATMEGA128芯片标识
- ztek usb转串口 linux,Z-TEK USB转串口驱动下载
- (六)SSO之CAS框架扩展 改动CAS源代码实现与ESS动态password验证对接
- Android集成微信支付时返回错误码errcode:40125解决方案
- 2016 server win 假死_Windows10出现假死的几种表现形式及对应解决方案
- 基于pixhawk2.4.6硬件和ChibiOS系统的ardupilot启动流程:从上电到ArduCopter应用层代码
- 如何学习编程、一门编程语言怎么算入门、快速掌握一门编程语言
- gmail 邮箱附件大小 突破10M
- python生成随机的大写字母_Python — 随机生成10个大写、小写字母、特殊字符 string模块...