1、问题描述
之前是用Blob把页面的
导出成.xls的Excel文件:Blob把html导出为excel文件_金斗潼关的博客-CSDN博客
不过由于微软的Excel对.xls扩展名的文件支持不是很好,打开会报一个警告
所以用户反馈说是不想弹出这个警告,要求导出的文件为xlsx格式。
2、产生原因
.xls后缀名过时了
3、解决方法
不要导出.xls,导出成.xlsx就行了。
方法一、使用sheet.js
GitHub - SheetJS/sheetjs: 📗 SheetJS Community Edition -- Spreadsheet Data Toolkit
<script type="text/javascript" charset="utf-8" src="/SheetJsDemo/js/jquery-3.5.1.js">script>
<script type="text/javascript" charset="utf-8" src="/SheetJsDemo/js/xlsx.full.min.js">script>
<script type="text/javascript">
$(document).ready(function() {
$("#btnExport").click(function() {
const table = document.getElementById("MyTable");
const new_sheet = XLSX.utils.table_to_book(table);
XLSX.writeFile(new_sheet, "SheetJSTable.xlsx");
<button name="btnExport" id="btnExport" class="btn">sheetJS导出Excelbutton>
<th rowspan="2" nowrap="">POth>
<th rowspan="2" nowrap="">型号th>
<th rowspan="2" nowrap="">采购数量th>
<th colspan="5" nowrap="">入库th>
<th colspan="1" nowrap="">出库th>
导出来的xlsx是这样子的(注意:sheetjs导出.xlsx是不带样式的,原本我想把单元格加粗,但是看了半天sheetJS文档也没看到哪里有设置的)Overview | SheetJS Community Edition
方法二、使用tableExport.js
mirrors / kayalshri / tableexport.jquery.plugin · GitCode
<script type="text/javascript" charset="utf-8" src="/SheetJsDemo/js/jquery-3.5.1.js">script>
<script type="text/javascript" charset="utf-8" src="/SheetJsDemo/js/tableExport.js">script>
<script type="text/javascript">
$(document).ready(function() {
$("#btnExport1").click(function() {
$('#MyTable').tableExport({
fileName: "tableExportJS",
<button name="btnExport1" id="btnExport1" class="btn">tableExportJS导出Excelbutton>
<th rowspan="2" nowrap="">POth>
<th rowspan="2" nowrap="">型号th>
<th rowspan="2" nowrap="">采购数量th>
<th colspan="5" nowrap="">入库th>
<th colspan="1" nowrap="">出库th>
tableExport.js导出成.xlsx也是无法修改导出表格的样式的。
我看tableExport.js源码里面,都是写死的默认不带任何样式,我试着在这里添加样式: