前段时间因一个需求后端没法完成,因此交给前端来实现,导出表格,须要实现:
一、支持多个sheet,而且有本身的name
二、根据要求合并单元格,设置单元格的宽高
三、在表格内有各自的二维码
四、打印的页边距为左右各0.5cm
五、打印多页的话,固定表头
六、设置页脚前端
导出后,以下图所示:git
https://github.com/pangpangni...
略凌乱,欢迎指正及优化。github
用现有的js导出excel的插件,没法实现,因此只能手写各类样式代码;
关于打印、页脚之类无从下手的要求,须要导出后,复制一份,原文件拖进sublime,查看源码,复制的那份用wps打开,设置打印、页脚。而后复制的那份拖进sublime,对比两个文件的代码有什么不一样,就基本能够知道打印、页脚的代码。后端
一、只能用wps打开,若是用excel打开的话,会报错
二、wps打开后,若是修改了内容,保存后再打开,二维码消失优化
一、设置页脚及页边距spa
<style> <!-- @page {mso-footer-data:"&C\\7B2C &P \\9875\\FF0C\\5171 &N \\9875"; margin:0.748in 0.195in 0.748in 0.195in; mso-header-margin:0.51in; mso-footer-margin:0.51in;} --> </style>
二、文字折行插件
<td colspan="4" style="font-size:13px;vertical-align:middle;"> 送货人: <br style='mso-data-placement:same-cell;'/> <br style='mso-data-placement:same-cell;'/> 日 期 : </td>
三、打印固定表头excel
<x:ExcelName> <x:Name>Print_Titles</x:Name> <x:SheetIndex>1</x:SheetIndex> <x:Formula>=3D'2773'!$1:$7</x:Formula> </x:ExcelName> <x:ExcelName> <x:Name>Print_Titles</x:Name> <x:SheetIndex>1</x:SheetIndex> <x:Formula>=3D'2773'!$1:7</x:Formula> </x:ExcelName>
四、插入图片
目前只支持插入转成base64的图code
<img src=3D'code2773.xml' />
------BOUNDARY_0008---- Content-Location: file:///C:/0E8D990C/SongHuoDan/code2773.xml Content-Transfer-Encoding: base64 Content-Type: image/jpeg iVBORw0KGgoA...省略掉...Qn9mxgAAAABJRU5ErkJggg== ------BOUNDARY_0008---- Content-Location: file:///C:/0E8D990C/SongHuoDan/code2774.xml Content-Transfer-Encoding: base64 Content-Type: image/jpeg
其余的请自行摸索……orm
一、请严格按照格式拼接代码(空格、空行等)
二、注意分割线boundary="----BOUNDARY_0008----"
,BOUNDARY_0008能够改为别的