js-xlsx怎么导出图片

 时间:2024-11-05 20:31:20

js-xlsx是一个前瞿搋村乇端操作表格Excel的插件,主要是对Excel进行读取和写入操作,其也能将图片插入Excel中,但是导出图片前端我推荐使用“downloa颊俄岿髭d.js使用方法”可以在百度经验中搜索。

工具/原料

电脑

前端编辑工具,txt文本也可以

WPS2018表格创建工具

谷歌浏览器

方法/步骤

1、第一步:编辑js-xlsx导入EXCEL表格的前端代码,代码如下所示:<!DOCTY绯摺驼予PEhtml><html><head>稆糨孝汶;<metacharset="UTF-8"><title></title><scriptsrc="js/xlsx.full.min.js"></script></head><body><inputtype="file"onchange="importf(this)"/><divid="demo"></div><script>/*FileReader共有4种读取方法:1.readAsArrayBuffer(file):将文件读取为ArrayBuffer。2.readAsBinaryString(file):将文件读取为二进制字符串3.readAsDataURL(file):将文件读取为DataURL4.readAsText(file,[encoding]):将文件读取为文本,encoding缺省值为'UTF-8'*/varwb;//读取完成的数据varrABS=false;//是否将文件读取为二进制字符串functionimportf(obj){//导入if(!obj.files){return;}varf=obj.files[0];varreader=newFileReader();reader.onload=function(e){vardata=e.target.result;if(rABS){wb=XLSX.read(btoa(fixdata(data)),{//手动转化type:'base64'});}else{wb=XLSX.read(data,{type:'binary'});}//wb.SheetNames[0]是获取Sheets中第一个Sheet的名字//wb.Sheets[Sheet名]获取第一个Sheet的数据document.getElementById("demo").innerHTML=JSON.stringify(XLSX.utils.sheet_to_json(wb.Sheets[wb.SheetNames[0]]));};if(rABS){reader.readAsArrayBuffer(f);}else{reader.readAsBinaryString(f);}}functionfixdata(data){//文件流转BinaryStringvaro="",l=0,w=10240;for(;l<data.byteLength/w;++l)o+=String.fromCharCode.apply(null,newUint8Array(data.slice(l*w,l*w+w)));o+=String.fromCharCode.apply(null,newUint8Array(data.slice(l*w)));returno;}</script></body></html>

js-xlsx怎么导出图片

js-xlsx怎么导出图片

2、第二步:测试编辑的前端导入Excel表格数据的代码,如下所示,新建一个Excel表格名字“1.xls”,打开页面--》选择表格,打开--》结果如下图所示。测试成功。

js-xlsx怎么导出图片

js-xlsx怎么导出图片

js-xlsx怎么导出图片

js-xlsx怎么导出图片

js-xlsx怎么导出图片

3、第三步:编辑导出Excel功能的代码,打开编辑器将以下代码复制到编辑器中编码完成。如下所示争犸禀淫<!DOCTYPEhtml><html><head&爿讥旌护gt;<metacharset="UTF-8"><title></title><<scriptsrc="js/xlsx.full.min.js"></script></head><body><buttononclick="downloadExl(jsono)">导出</button><!--以下a标签不需要内容--><ahref=""download="这里是下载的文件名.xlsx"id="hf"></a><script>varjsono=[{//测试数据"保质期临期预警(天)":"adventLifecycle","商品标题":"title","建议零售价":"defaultPrice","高(cm)":"height","商品描述":"Description","保质期禁售(天)":"lockupLifecycle","商品名称":"skuName","商品简介":"brief","宽(cm)":"width","阿达":"asdz","货号":"goodsNo","商品条码":"skuNo","商品品牌":"brand","净容积(cm^3)":"netVolume","是否保质期管理":"isShelfLifeMgmt","是否串号管理":"isSNMgmt","商品颜色":"color","尺码":"size","是否批次管理":"isBatchMgmt","商品编号":"skuCode","商品简称":"shortName","毛重(g)":"grossWeight","长(cm)":"length","英文名称":"englishName","净重(g)":"netWeight","商品分类":"categoryId","这里超过了":1111.0,"保质期(天)":"expDate"}];vartmpDown;//导出的二进制对象functiondownloadExl(json,type){vartmpdata=json[0];json.unshift({});varkeyMap=[];//获取keys//keyMap=Object.keys(json[0]);for(varkintmpdata){keyMap.push(k);json[0][k]=k;}vartmpdata=[];//用来保存转换好的jsonjson.map((v,i)=>keyMap.map((k,j)=>Object.assign({},{v:v[k],position:(j>25?getCharCol(j):String.fromCharCode(65+j))+(i+1)}))).reduce((prev,next)=>prev.concat(next)).forEach((v,i)=>tmpdata[v.position]={v:v.v});varoutputPos=Object.keys(tmpdata);//设置区域,比如表格从A1到D10vartmpWB={SheetNames:['mySheet'],//保存的表标题Sheets:{'mySheet':Object.assign({},tmpdata,//内容{'!ref':outputPos[0]+':'+outputPos[outputPos.length-1]//设置填充区域})}};tmpDown=newBlob([s2ab(XLSX.write(tmpWB,{bookType:(type==undefined?'xlsx':type),bookSST:false,type:'binary'}//这里的数据是用来定义导出的格式类型))],{type:""});//创建二进制对象写入转换好的字节流varhref=URL.createObjectURL(tmpDown);//创建对象超链接document.getElementById("hf").href=href;//绑定a标签document.getElementById("hf").click();//模拟点击实现下载setTimeout(function(){//延时释放URL.revokeObjectURL(tmpDown);//用URL.revokeObjectURL()来释放这个objectURL},100);}functions2ab(s){//字符串转字符流varbuf=newArrayBuffer(s.length);varview=newUint8Array(buf);for(vari=0;i!=s.length;++i)view[i]=s.charCodeAt(i)&0xFF;returnbuf;}//将指定的自然数转换为26进制表示。映射关系:[0-25]->[A-Z]。functiongetCharCol(n){lettemCol='',s='',m=0while(n>0){m=n%26+1s=String.fromCharCode(m+64)+sn=(n-m)/26}returns}</script></body></html>

js-xlsx怎么导出图片

js-xlsx怎么导出图片

js-xlsx怎么导出图片

js-xlsx怎么导出图片

4、第四步:测试编辑的导出Excel表格的编码测试,用谷歌浏览器--》打开编辑的网页,界面如下,--点击导出--》导出成功,在文件上右键--》打开文件夹所在位置--》双击打开文件。测试成功,结果如下所示。

js-xlsx怎么导出图片

js-xlsx怎么导出图片

js-xlsx怎么导出图片

js-xlsx怎么导出图片

差评回复技巧 米粒小说app怎样填写邀请码 攻城掠地铁匠铺玩法详解 Bluestacks蓝叠3.0怎么注册账号 如何从网络上下载高清视频
热门搜索
套餐图片 牵引车图片 古代美女图片大全 日韩电影 侯梦莎图片