html 导出 excel 单元格合并 --3

    技术2025-12-03  18

    html 导出 excel 单元格合并 --3

    最终的excel效果

    核心代码块

    view.tableExport = function (tableId = '', filename, type) { var doc = view.document, // table = doc.getElementById(tableId), charSet = doc.characterSet var uri = { json: 'application/json;charset=' + charSet, txt: 'csv/txt;charset=' + charSet, csv: 'csv/txt;charset=' + charSet, doc: 'application/vnd.ms-doc', excel: 'application/vnd.ms-excel' }; var toOffice = function () { var tmpl = '<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40">'; tmpl += '<head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/><meta name="ProgId" content="Excel.Sheet"/><meta name="Generator" content="WPS Office ET"/>' tmpl += "</head><body><table border='1px solid #000'>{table}</table></body></html>"; var office = ` <tr> <td colspan="3">合并单元格</td> </tr> <tr> <td>年级</td> <td>科目</td> <td>次数</td> </tr> <tr> <td rowspan="2" >初一</td> <td>语文</td> <td>25</td> </tr> <tr> <td>数学</td> <td>30</td> </tr> <tr> <td>初二</td> <td>物理</td> <td>40</td> </tr> <tr> <td rowspan="2">初三</td> <td>化学</td> <td>28</td> </tr> <tr> <td>英语</td> <td>33</td> </tr> ` saveData(template(tmpl, { worksheet: 'Worksheet', table: office })); }; <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>html导出excel单元格合并</title> <script src="./Blob.js"></script> <script src="./FileSaver.js"></script> <script src="./hbdyg.js"></script> </head> <body> <button onclick="report()">合并单元格</button> <script> function report() { tableExport('', '合并单元格', 'xls') } </script> </body> </html>

    效果

    Processed: 0.032, SQL: 9