导出Excel表格文件
今天给大家分享一个导出excel文件表格的文章
这次使用的方法是ExcelJs,个人感觉这个使用还是可以的,主要的问题就是导出成功后会报错,提示文件损坏或者是扩展名错误。目前还没有找到代码逻辑的解决的方法,如果有好的方法,大家可以推荐给我,我也来学习一下。(这个问题解决方法:把文件名后缀改成xxxx.xlsx。例:导出案例.xlsx)
安装:npm install exceljs
//data是主题数据,
数据格式是:[{导出:'11111'}]
const exportToExcel = (data: any) => {
const date = new Date()
//导出后文件名称
const sheetName = `导出文件_${moment(date).format('YYYYMMDDHHmmss')}`;
const headerName = "RequestsList";
const workbook = new ExcelJs.Workbook();
const sheet = workbook.addWorksheet(sheetName, {
//是否显示表格
views: [{ showGridLines: true }]
});
const columnArr = [];
for (let i in data[0]) {
let tempObj = { name: "" };
tempObj.name = i;
columnArr.push(tempObj);
}
sheet.addTable({
name: headerName,
ref: "A1", // 主要数据从A5单元格开始
headerRow: true,
totalsRow: false,
style: {
theme: "TableStyleMedium2",
showRowStripes: true,
},
columns: columnArr ? columnArr : [{ name: "" }],
rows: data?.map((e: any) => {
let arr = [];
for (let i in e) {
arr.push(e[i]);
}
return arr;
}),
});
//表头的宽度
sheet.columns = sheet.columns.map((e: any) => {
const expr = e.values[5];
if (expr) {
return { width: 20 }
} else {
return { width: 20 }
}
});
const writeFile = (fileName: any, content: any) => {
const link = document.createElement("a");
const blob = new Blob([content], {
type: "application/vnd.ms-excel;charset=utf-8;"
});
link.download = fileName;
link.href = URL.createObjectURL(blob);
link.click();
};
workbook.xlsx.writeBuffer().then((buffer) => {
writeFile(sheetName, buffer);
});
};
CSDN-Ada助手: 恭喜你写了第12篇博客!看到你分享了关于React使用FullCalendar的经验,我觉得非常有帮助。不过,如果可能的话,我希望你能在下一篇博客中分享一些实际案例或者更深入的使用技巧,这样能够更好地帮助读者理解和运用这个技术。期待你的下一篇作品!加油!
CSDN-Ada助手: 恭喜您成功写下了第11篇博客!标题为“前端Excel导入”的博文听起来非常有趣。我很高兴看到您持续创作,并分享关于前端的知识。不过,我觉得您可以进一步扩展这个话题,例如探讨如何处理大量数据或者如何处理导入过程中的错误。期待您在下一篇博客中能够给出更多的实用建议和技巧。谢谢您不断为我们带来有价值的内容!
CSDN-Ada助手: 恭喜您写了第10篇博客!标题为“导出Excel表格文件”,这是一个非常实用的主题。您的博客内容一定能帮助很多读者解决导出Excel表格的问题。对于您的持续创作,我表示由衷的祝贺! 在下一步的创作中,我建议您可以考虑与读者分享更多关于Excel表格的技巧和应用场景。比如如何利用Excel进行数据分析、如何制作漂亮的图表等等。这样的内容会让读者更加受益,并且为您的博客增添更多的价值。期待您的下一篇作品,再次恭喜您!
_琉: 根据经纬度,绘制中国地图是需要经纬度,添加标记点也是经纬度,你可以加两个标签,其中把标记点的标签覆盖到中国地图上就可以了,这是第一版比较简易,现在我这边也该了,用的是高德地图和百度地图,可以使用自定义地图,也可以有这种效果,就是使用起来比较麻烦,样式需要自己一点点的去调试,你可以去看下高德和百度的自定义地图。
吃荤的少林僧: 你好, 请问下这两个图层咋个合并为一个呢?