遇到问题
问题一:打开表格出现乱码。
问题二:数字过长自动变成科学记数法。
问题三:在第一次踩坑的基础上,增加了竖列的过滤。
解决方法
问题一
<html xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:x="urn:schemas-microsoft-com:office:excel"
xmlns="http://www.w3.org/TR/REC-html40">
<head><meta charset='UTF-8'><!--[if gte mso 9]><xml>
<x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet>
<x:Name>${worksheet}</x:Name>
<x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet>
</x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]-->
</head><body><table style="vnd.ms-excel.numberformat:@">${str}</table></body></html>
注意里面的<meta charset='UTF-8'>
一定要记得加在里面。
问题二
解决方案一:
<td style="mso-number-format:'\@';">100821199909091234</td>
增加了 style="mso-number-format:'\@';"
样式后 可以解决
解决方案二:
原来的:excelFile += "<body><table>";
修改为:excelFile += '<body><table style="vnd.ms-excel.numberformat:@">';
style="vnd.ms-excel.numberformat:@"
的作用是把数据转换文本格式
问题三
在原来的基础上:遍历一遍被选中的th。加入数组中,在传入数值时判断是否存在,存在,写入,不存在继续。
总结
大佬们多多评论,给出意见,共同进步。