js+excel+mysql_js导出数据到excel

方式一

var jsonData = [

{

name:'路人甲',

phone:'123456',

email:'123@123456.com'

},

{

name:'炮灰乙',

phone:'123456',

email:'123@123456.com'

},

{

name:'土匪丙',

phone:'123456',

email:'123@123456.com'

},

{

name:'流氓丁',

phone:'123456',

email:'123@123456.com'

},

]

function JSONToCSVConvertor(JSONData, ReportTitle, ShowLabel) {

//If JSONData is not an object then JSON.parse will parse the JSON string in an Object

var arrData = typeof JSONData != 'object' ? JSON.parse(JSONData) : JSONData;

var CSV = '';

//Set Report title in first row or line

CSV += '姓名,电话,邮箱\n';

//This condition will generate the Label/Header

// if (ShowLabel) {

// var row = "";

//

// //This loop will extract the label from 1st index of on array

// for (var index in arrData[0]) {

//

// //Now convert each value to string and comma-seprated

// row += index + ',';

// }

//

// row = row.slice(0, -1);

//

// //append Label row with line break

// CSV += row + '\r\n';

// }

//1st loop is to extract each row

for (var i = 0; i < arrData.length; i++) {

var row = "";

//2nd loop will extract each column and convert it in string comma-seprated

for (var index in arrData[i]) {

row += '"' + arrData[i][index] + '",';

}

row.slice(0, row.length - 1);

//add a line break after each row

CSV += row + '\r\n';

}

if (CSV == '') {

alert("Invalid data");

return;

}

//Generate a file name

var fileName = "MyReport_";

//this will remove the blank-spaces from the title and replace it with an underscore

fileName += ReportTitle.replace(/ /g,"_");

//Initialize file format you want csv or xls

CSV = encodeURIComponent(CSV);

var uri = 'data:text/csv;charset=utf-8,\ufeff' + CSV;

// Now the little tricky part.

// you can use either>> window.open(uri);

// but this will not work in some browsers

// or you will not get the correct file extension

//this trick will generate a temp tag

var link = document.createElement("a");

link.href = uri;

//set the visibility hidden so it will not effect on your web-layout

link.style = "visibility:hidden";

link.download = fileName + ".csv";

//this part will append the anchor tag and remove it after automatic click

document.body.appendChild(link);

link.click();

document.body.removeChild(link);

方式二:

function TableToExcel(){

//要导出的json数据

var jsonData = [

{

name:'001',

id:'621699190001011231'

},

{

name:'002',

id:'52069919000101547X'

},

{

name:'003',

id:'423699190103015469'

},

{

name:'004',

id:'341655190105011749'

}

]

//导出前要将json转成table格式

//列标题

var str = '

nameid';

//具体数值 遍历

for(let i = 0;i < jsonData.length;i++){

str += '

';

for(let item in jsonData[i]){

var cellvalue = jsonData[i][item];

//不让表格显示科学计数法或者其他格式

//方法1 tr里面加 style="mso-number-format:'\@';" 方法2 是改为 = 'XXXX'格式

//如果纯数字且超过15位

/*var reg = /^[0-9]+.?[0-9]*$/;

if ((cellvalue.length>15) && (reg.test(cellvalue))){

//cellvalue = '="' + cellvalue + '"';

}*/

//此处用`取代',具体用法搜索模板字符串 ES6特性

str+=`

${cellvalue}`;

// str+=`

${cellvalue}`;

}

str+='

';

}

var worksheet = '导出结果'

var uri = 'data:application/vnd.ms-excel;base64,';

//下载的表格模板数据

var template = `

xmlns:x="urn:schemas-microsoft-com:office:excel"

xmlns="http://www.w3.org/TR/REC-html40">

`;

//下载模板

function base64 (s) { return window.btoa(unescape(encodeURIComponent(s)))}

window.location.href = uri + base64(template);

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/547843.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

关于c# SESSION丢失问题解决办法

我们在用C#开发程序的时候经常会遇到Session很不稳定&#xff0c;老是数据丢失。下面就是Session数据丢失的解决办法希望对您有好处。1、在WEB.CONFIG文件中修改SESSION状态保存模式&#xff0c;如&#xff1a;<sessionState modeStateServer stateConnectionStringtcpip127…

python执行系统命令后获取返回值的几种方式

import commands output commands.getstatusoutput(ps -aux) print output更多资讯或疑问内容请关注 微信公众号 “让梦飞起来” 或添加小编微信&#xff0c; 后台回复 “Python” &#xff0c;领取更多资料哦

as和强制类型转换的区别

之前一直以为as就是强制类型转换&#xff0c;只是as是AS3中新的语法&#xff0c;之前用在有继承关系的对象之间的转换也无甚区别&#xff0c;但是今天却让我领悟到了它俩之间的区别。原起&#xff1a;今天要给ColorPicker控件动态赋值&#xff0c;它的selectedColor属性接收的是…

mysql galera status_MySQL galera cluster集群的监控

一、集群复制状态检查1、SHOW GLOBAL STATUS LIKE wsrep_%;-------------------------------------------------------------------------------------------| Variable_name | Value |-------------------------------------------------------------------------------------…

一些好用的开源控件

工作两年&#xff0c;一直都在做些编码方面的表面功夫&#xff0c;实现了很多很炫的功能&#xff0c;在此写下一些体验。有些比较小的dll文件我会发上来&#xff0c;如果是开源组织的代码我会把地址附上&#xff0c;毕竟人家是会更新的。大家还有什么好用的开源控件欢迎补充。 …

python3爬取百度图片

python3爬取百度图片 最终目的&#xff1a;能通过输入关键字进行搜索&#xff0c;爬取相应的图片存储到本地或者数据库 首先打开百度图片的网站&#xff0c;搜索任意一个关键字&#xff0c;比如说&#xff1a;水果&#xff0c;得到如下的界面 分析&#xff1a; 1、百度图片搜…

mysql导入工具 行提交_使用命令行工具mysqlimport导入数据

Usage: mysqlimport [OPTIONS] database textfile …mysqlimport 程序是一个将以特定格式存放的文本数据(如通过“select * into OUTFILE from …”所生成的数据文件)导入到指定的MySQL Server 中的工具程序&#xff0c;比如将一个标准的csv 文件导入到某指定数据库的指定表中。…

Windows Phone 7 LongListSelector控件实现分类列表和字母索引

在wp7手机里面的联系人列表和程序里面里面我们可以看到一个根据字母索引来定位联系人或者应用程序的控件&#xff0c;那么这个控件就是LongListSelector控件了。 LongListSelector是一种比ListBox更加强大的列表控件&#xff0c;你可以根据你列表的信息来分类排列&#xff0c;根…

c# 获取电脑硬件信息通用查询类[测试通过]

C#获取电脑硬件信息通用类[Computer]代码展示和分析&#xff0c;简介如下&#xff1a; 1.项目中添加System.Management引用。 2.添加类Computer&#xff0c;把下面代码全选&#xff0c;复制&#xff0c;粘贴。 3.使用方法new Computer().GetComputerName()。 代码 usingSyst…

基于ssm北关村基本办公管理系统的设计与实现论文

摘 要 在如今社会上&#xff0c;关于信息上面的处理&#xff0c;没有任何一个企业或者个人会忽视&#xff0c;如何让信息急速传递&#xff0c;并且归档储存查询&#xff0c;采用之前的纸张记录模式已经不符合当前使用要求了。所以&#xff0c;对北关村基本办公信息管理的提升&…

C# 操作线程的通用类[测试通过]

进程管理就是对服务器性能的管理和协调&#xff0c;在程序的运行角度来看非常重要&#xff0c;也可以根据操作进程的手段&#xff0c;衍生很多实用和智能的功能&#xff0c;以下就是介绍一个自己写的进程通用操作类&#xff0c;功能如下&#xff1a; 1.把ProcessUtility类直接…

官网安装Nvidia CUDA Toolkit、cuDNN报错502的备用镜像下载网址

国内从NVIDIA官网下载GPU驱动、CUDA Toolkit、cuDNN通常比较慢&#xff0c;下面提供了这些软件包的内网链接会极大加快下载速度。 一、软件包内网链接地址 CUDA 是英伟达显卡进行各种高性能运算必备的库&#xff0c;不同软件包依赖的 CUDA 版本可能不同&#xff0c;你需要根据…

python导入mysqldb_Python导入MySQLdb报错

摘要> flask开发相关功能&#xff0c;在本地测试没有问题&#xff0c;但是放到线上环境却报错 ImportError: libmysqlclient.so.16: cannot open shared object file: No such file or directory> 检查了下发现在 /usr/lib64/mysql 下面存在libmysqlclient.so.18文件(uan…

宽字符编码和解码通用类[CodeWidthChartUtility]

在做jsonp传递的时候遇到一个问题&#xff0c;当有特殊字符或中文的时候就会导致数据错误或者是乱码&#xff0c;刚开始有js的编码和解码和正则&#xff0c;都比较麻烦&#xff0c;现在找到了一种合适的解决方案&#xff0c;宽字符编码&#xff0c;js端会自动解析&#xff0c;能…

Ubuntu16.04下安装cuda和cudnn的三种方法(亲测全部有效)

目录 1.cuda的安装 1.1 最简单的方法——分开安装驱动和cuda 1.2 更万能的方法——同时安装驱动和cuda 1.3 终极杀手锏 2.cudnn的安装 安装之前首先要确认你需要安装的cuda和cudnn的版本&#xff0c;假如你后续还需要安装tensorflow的话&#xff0c;请看我的另外一篇博客&am…

python做ui自动化_python+selenium做ui自动化测试用法必会

一、前言大家都知道&#xff0c;基于Web端的测试的基础框架是需要Selenium做主要支撑的&#xff0c;这里边给大家介绍下Web测试核心之基于 Python 的 SeleniumSelenium 是用于测试 Web 应用程序用户界面 (UI) 的常用框架。它是一款用于运行端到端功能测试的超强工具。您可以使用…

c# 操作IIS应用程序池

直接代码&#xff1a; 代码 usingSystem.DirectoryServices; //添加引用 System.DirectoryServicestry{ DirectoryEntry appPool newDirectoryEntry("IIS://localhost/W3SVC/AppPools"); DirectoryEntry findPool appPool.Children.Find("DefaultAppPool&…

Android获取手机和系统版本等信息的代码

2019独角兽企业重金招聘Python工程师标准>>> String phoneInfo "Product: " android.os.Build.PRODUCT; phoneInfo ", CPU_ABI: " android.os.Build.CPU_ABI; phoneInfo ", TAGS: " android.os.Build.TAGS; phoneInfo &…

用hyperledger cello H3C分支创建单机模式区块链系统

本文介绍用hyperledger cello的0.9.0-h3c分支创建一套区块链系统的完整流程&#xff0c;希望对读者有所帮助。 环境准备工作&#xff1a;需要准备一台装有ubuntu 16.04的主机&#xff0c;内存需要大一些&#xff0c;建议8G以上。安装docker-ce和docker-compose。 接下来&…

mysql 导入导出脚本_MySQL导入和导出sql脚本

MySQL导入和导出sql脚本首先&#xff0c;使用mysqldump命令的前提是&#xff0c;在Cmd中进入mysql安装目录下的bin目录下&#xff0c;才可以使用该命令。我的mysql安装在E&#xff1a;盘&#xff0c;所以&#xff0c;首先进入bin目录下&#xff1a;E:\Program Files\MySQL\MySQ…