AutoPOI功能如同名字auto,追求的就是自动化,让一个没接触过poi的人员,可以傻瓜化的快速实现Excel导入导出、Word模板导出;可以仅仅5行代码就可以完成Excel的导入导出。
当前版本:v1.4.3 | 2022-09-02
录分享日常接单的体会, 关注我,了解程序员私活接单
最近在接单平台,看到这样一个任务:
给定两个输入excel文件,合并关联输出新的excel
输入1:
输入2:
输出:
身为Java后端开发,首先考虑导入导出excel数据到数据库,再通过join关联来解决问题
但是,用户预算有限,另外java本身,桌面应用或者web应用,安装成本太高,因此对于交付不友好,放弃java实现方案
受限于语言熟悉度,决定选择javascript作为解决方案
难点:读取、写入 excel文件
利器:https://github.com/SheetJS/sheetjs
最终页面:
sheetjs部分功能点:
1、读取文件
function readFile(id, file) {
const reader=new FileReader();
reader.onload=function(e) {
let data=e.target.result;
data=new Uint8Array(data);
processWb(XLSX.read(data, {type: 'array'}), (sheetName, dataList)=> {
console.log(sheetName, dataList)
$(`.${id}-info .rows`).html(dataList.length + "条")
});
};
于单据打印,原来用阿里easypoi,不是很通用;这次在客户处用Excel模板,Excel生成html,html生成pdf,主要是通过pdf加页眉页脚。
方案是nodejs加java,lucksheet导入导出excel, excel导出html、json; 页眉页脚通过json生成pdf。
go开源库极少 nodejs不稳定 exceljs有很多bug,java又多又稳定 文档转换用java库。
有需要可联系,导出pdf、word比较方便,html转excel 、pdf转excel都不太理想。
excel模板:
模板
输出html:
html
输出pdf:
*请认真填写需求信息,我们会在24小时内与您取得联系。