• 保存到桌面  加入收藏  设为首页
HTML5

js-table表格导出excel-长数字导出后变成科学计数法处理

时间:2020-04-22 15:33:41   作者:江节胜   来源:胜行天下网   阅读:524   评论:0

js导出的长数字变成科学计数法

table表格导出excel-biginteger长数字导出后变成科学计数法处理

解决方案:

1、Navicat导出

2、可以导出的 html 结构

 var appendHtml =

	'<table id="query_result1">'

	+'<thead class=""><tr><th><div>主键div>th><th><div>创建时间div>th>tr>thead>'

	+'<tbody><tr><td style="">24201883434356582td><td style="">2015-10-29 11:21:28td>tr>'

	+'<tr><td style="">24201883434356835td><td style="">2015-10-30 16:35:02td>tr>'

	+'<tr><td style="">24201883434357061td><td style="">2015-11-01 09:47:24td>tr>tbody>'

	+'table>';

	//这里replace查询的内容要和实际匹配一下 appendHtml = appendHtml.replace(/<td style=""/g, "<td STYLE='MSO-NUMBER-FORMAT:\\@'"); var html = "
	
	" + appendHtml + "body>html>";

	// 实例化一个Blob对象,其构造函数的第一个参数是包含文件内容的数组,第二个参数是包含文件类型属性的对象 var blob = new Blob([html], {

		type: "application/vnd.ms-excel"

	}); //application/octet-stream

	//也可以用js创建一个a标签 var a = document.createElement('a');

	// var a = document.getElementsByTagName("a")[0];

	// 利用URL.createObjectURL()方法为a元素生成blob URL

	a.href = URL.createObjectURL(blob);

	// 设置文件名 a.download = "统计表.xls"; //xlsx

	a.click(); 

说明:

1、bigint强转成char无效: select convert(pk_id,CHAR) from xxx_table 无效。

https://blog.csdn.net/nihaoqiulinhe/article/details/53537540?depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1&utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1

如果excel中 显示一个 绿色的小三角,表示文本格式。

其他,未验证,可百度。

mso-number-format:"0"NODecimals mso-number-format:"0\.000"3Decimals mso-number-format:"\#\,\#\#0\.000"Commawith3dec mso-number-format:"mm\/dd\/yy"Date7 mso-number-format:"mmmm\d\,\yyyy"Date9 mso-number-format:"m\/d\/yy\h\:mm\AM\/PM"D-TAMPM mso-number-format:"ShortDate"01/03/1998 mso-number-format:"MediumDate"01-mar-98 mso-number-format:"d\-mmm\-yyyy"01-mar-1998 mso-number-format:"ShortTime"5:16 mso-number-format:"MediumTime"5:16am mso-number-format:"LongTime"5:16:21:00 mso-number-format:"Percent"Percent-twodecimals mso-number-format:"0%"Percent-nodecimals mso-number-format:"0\.E+00"ScientificNotation mso-number-format:"\@"Text (目前只用过) mso-number-format:"\#\???\/???"Fractions-upto3digits(312/943) 

F6的SQL平台可使用(先把显示条数改到最大) 如果直接通过js给元素批量加style,导出执行时又会去还原。

 var targetTableObj = document.getElementById("query_result1"); var appendHtml = targetTableObj.outerHTML; console.log("appendHtml =" + appendHtml); //看看实际是什么,再replace /xxx/g //这里replace查询的内容要和实际匹配一下 appendHtml = appendHtml.replace(/, "); var html = "
	
	" + appendHtml + ""; // 实例化一个Blob对象,其构造函数的第一个参数是包含文件内容的数组,第二个参数是包含文件类型属性的对象 var blob = new Blob([html], { type: "application/vnd.ms-excel" }); //application/octet-stream //也可以用js创建一个a标签 var a = document.createElement('a'); // var a = document.getElementsByTagName("a")[0]; // 利用URL.createObjectURL()方法为a元素生成blob URL a.href = URL.createObjectURL(blob); // 设置文件名 a.download = "统计表.xls"; //xlsx a.click(); 

相关评论

加我微信 596957738 (QQ同号)加我微信     QQ联系:596957738    地址:江苏省南京市浦口区

苏ICP备2023050353号

   

苏公网安备32011402010305号

江节胜的Gitee,江节胜的Git地址