js读取excel中的图片
js读取excel中的图片
网络查询无果后,疯狂乱抓,使用这个笨方法
方法中读取文件流后再返回对象
export function import_excel_file(file) {
const workbook = new ExcelJS.Workbook()
return new Promise((resolve, reject) => {
readFile(file).then(buffer => {
workbook.xlsx.load(buffer).then(() => {
resolve(workbook)
}).catch(() => {
reject()
})
})
})
}
使用返回的对象获工作簿对象下的所有图片(示例只使用工作薄1),遍历记录所有的图片二进制对象及坐标(此坐标从0开始),存入map集合中以坐标、图像对象为key,value值。
import_excel_file(file.raw).then(workbook => {
let mapImg = new Map()
const worksheet = workbook.getWorksheet(1)
for (const image of workbook.getWorksheet(1).getImages()) {
const siteImg = image.range.br
const imageObj = workbook.getWorksheet(1).workbook.getImage(image.imageId)
if (imageObj) {
if (imgType.includes(imageObj.extension)) {
const col = String(siteImg.nativeCol)
const row = String(siteImg.nativeRow);
const imgSite = col + '-' + row
// 存入map集合中
mapImg.set(imgSite, imageObj)
}
}
}
}).catch(() => {
this.$message.error('无法解析文件')
})
结尾:如有错误或更简单的方法,敬请指正。
原文地址:https://blog.csdn.net/weixin_43569417/article/details/136803887
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!