xl1 0.0.1 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2) hide show
  1. package/dist/index.js +1 -1
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";var x=(s=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(s,{get:(e,r)=>(typeof require<"u"?require:e)[r]}):s)(function(s){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+s+'" is not supported')});var p=(s,e)=>()=>(e||s((e={exports:{}}).exports,e),e.exports);var b=p((W,k)=>{var y=x("fs"),l=x("xlsx"),F=s=>{let{file:e,sheet:r,range:a,defval:c}=s;if(!y.existsSync(e)){console.log("file not found, ",e);return}if(![".xlsx"].find(m=>e.endsWith(m))){console.log("file type error, ",e);return}let o=l.readFile(e,{bookSheets:!1});if(!o)return null;let g=o.Sheets[r||o.SheetNames[0]],d={range:a,blankrows:!1,defval:c};return l.utils.sheet_to_json(g,d)},E=s=>{let{file:e,data:r,sheet:a}=s;if(!(e&&r&&Array.isArray(r)&&r.length>0))return;let c=Array.isArray(r[0])?l.utils.aoa_to_sheet(r):l.utils.json_to_sheet(r),o=y.existsSync(e)?l.readFile(e,{cellDates:!0}):l.utils.book_new();l.utils.book_append_sheet(o,c,a?a.substring(0,31):"Sheet1",!0),l.writeFile(o,e,{compression:!0})};k.exports={readXlsx:F,writeXlsx:E}});var _=p((B,w)=>{var{readXlsx:M}=b(),N={command:"read",describe:"load excel file",builder:{file:{alias:"f",describe:"load xlsx file ",demandOption:!0,type:"string"},sheet:{alias:"s",describe:"xlsx sheet name",demandOption:!1,type:"string"},range:{alias:"r",describe:"range of excel",default:"A1:Z2000",demandOption:!1,type:"string"},defval:{describe:"defval of cell",demandOption:!1,default:void 0,type:"string"}},handler(s){(async()=>{let e=M(s);console.log(JSON.stringify(e,null,2))})()}};w.exports=N});var O=p((H,S)=>{var{readXlsx:A,writeXlsx:Z}=b(),D={command:"merge <files..>",describe:"merge multiple excel sheets into the first sheet. (format: file|sheet|range, file|Sheet1|A1:Z2000)",builder:{output:{alias:"o",describe:"output file name",default:"MergedBook.xlsx",type:"string"},sheet:{alias:"s",describe:"xlsx sheet name",demandOption:!1,type:"string"}},handler(s){(async()=>{let e=t=>{let[n,i,f]=t.split("|");return{file:n,sheet:i,range:f||"A1:Z2000",defval:null}},[r,...a]=s.files,c=e(r),o=a.map(e),u=A(c),g=o.map(t=>A(t)),d=t=>{let n=Object.values(t);return n&&n.length>0?n[0]:""};g.forEach(t=>{u.forEach(n=>{let i=t.find(f=>d(f)===d(n)&&d(n));i&&Object.keys(i).slice(1).forEach(h=>{h in n&&i[h]!==null&&(n[h]=i[h])})})}),console.log("Merge completed successfully.");let m=Object.keys(u[0]).map(t=>t.startsWith("__EMPTY")?null:t),X=u.slice(1).map(t=>Object.values(t)).filter(t=>t.some(n=>n!==null)),j=[m,...X];Z({file:s.output,data:j,sheet:s.sheet||"MergedSheet"})})()}};S.exports=D});var v=p((J,q)=>{q.exports=()=>{let s=x("yargs").scriptName("xl1");s.command(_()),s.command(O());let e=s.parse();(!e._||e._.length===0)&&s.showHelp()}});v()();
1
+ "use strict";var m=(s=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(s,{get:(e,t)=>(typeof require<"u"?require:e)[t]}):s)(function(s){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+s+'" is not supported')});var _=(s,e)=>()=>(e||s((e={exports:{}}).exports,e),e.exports);var q=_((re,E)=>{var j=m("fs"),d=m("xlsx"),Q=s=>{let{file:e,sheet:t,range:n,defval:a,noNullRow:r}=s;if(!j.existsSync(e)){console.log("file not found, ",e);return}if(![".xlsx",".xlsm"].find(h=>e.endsWith(h))){console.log("file type error, ",e);return}let o=d.readFile(e,{bookSheets:!1});if(!o)return null;let c=o.Sheets[t||o.SheetNames[0]],p={range:n,blankrows:!1,defval:a},i=d.utils.sheet_to_json(c,p);return r?i.filter(h=>Object.values(h).some(w=>!!w)):i},T=s=>{let{file:e,data:t,sheet:n}=s;if(!(e&&t&&Array.isArray(t)&&t.length>0))return;let a=Array.isArray(t[0])?d.utils.aoa_to_sheet(t):d.utils.json_to_sheet(t),r=j.existsSync(e)?d.readFile(e,{cellDates:!0}):d.utils.book_new();d.utils.book_append_sheet(r,a,n?n.substring(0,31):"Sheet1",!0),d.writeFile(r,e,{compression:!0})},y=s=>{let[e,t]=s.split(":"),n=e.replace(/\D/g,""),a=t.replace(/\D/g,""),r=e.replace(/\d/g,""),o=t.replace(/\d/g,"");return{startRow:parseInt(n),endRow:parseInt(a),startCol:r,endCol:o,firstRow:`${e}:${o}${n}`,firstCol:`${e}:${r}${a}`}},D=(s,e,t,n,a)=>{console.log([e,t,n,a]);let r=[];for(let o=e;o<=t;o++){let g=[];for(let c=n;c<=a;c++){let i=s[""];g.push(i?i.v:null)}r.push(g)}return r},O=(s,e)=>{let t=y(e);return D(s,t.startRow,t.endRow,t.startCol,t.endCol)},U=(s,e)=>{let t=y(e);return O(s,t.firstRow)[0]},V=(s,e)=>{let t=y(e);return console.log(t.firstCol),O(s,t.firstCol)[0]};E.exports={readXlsx:Q,writeXlsx:T,getSheetData:O,getSheetData2:D,parseRange:y,getFirstRow:U,getFirstCol:V}});var M=_((le,H)=>{var{readXlsx:Y}=q(),ee={command:"read",describe:"load excel file",builder:{file:{alias:"f",describe:"load xlsx file ",demandOption:!0,type:"string"},sheet:{alias:"s",describe:"xlsx sheet name",demandOption:!1,type:"string"},range:{alias:"r",describe:"range of excel",default:"A1:Z2000",demandOption:!1,type:"string"},defval:{describe:"defval of cell",demandOption:!1,default:void 0,type:"string"}},handler(s){(async()=>{let e=Y(s);console.log(JSON.stringify(e,null,2))})()}};H.exports=ee});var L=_((ie,Z)=>{var{readXlsx:se,parseRange:W,getFirstRow:ae,getFirstCol:ce}=q(),u=m("xlsx"),te=m("fs"),oe={command:"merge <files..>",describe:"merge multiple excel sheets into the first sheet. (format: file|sheet|range, file|Sheet1|A1:Z2000)",builder:{output:{alias:"o",describe:"output file name",default:"MergedBook.xlsx",type:"string"},sheet:{alias:"s",describe:"xlsx sheet name",demandOption:!1,type:"string"},debug:{alias:"d",describe:"print debug log",demandOption:!1,type:"boolean"}},handler(s){(async()=>{let e=(...l)=>{s.debug&&console.log(...l)},t=l=>{let[f,x,R]=l.split("|");return{file:f,sheet:x,range:R||"A1:Z2000",defval:null,noNullRow:!0,debug:s.debug}},n=l=>{let f=Object.values(l);return f&&f.length>0?f[0]:""},[a,...r]=s.files,o=t(a),g=u.readFile(o.file,{bookSheets:!1}),c=g.Sheets[o.sheet||g.SheetNames[0]],p=W(o.range),i=u.utils.sheet_to_json(c,{header:1,range:p.firstRow,blankrows:!0,defval:null})[0],h=u.utils.sheet_to_json(c,{header:1,range:p.firstCol,blankrows:!0,defval:null}).map(l=>l[0]);e(W(o.range)),e("Header",i),e("RowIds",h);let w=r.map(t);w.forEach((l,f)=>{let x=se(l),R=x.map(n);console.log(`================${l.sheet}=================`),R.forEach((k,J)=>{let F=h.findIndex(b=>k&&k===b);if(e(l.sheet,k,F>-1?"OK":"NG",`SheetProcess:${f+1}/${w.length}`),F>-1){let b=x[J],$=Object.keys(b).slice(1);$.forEach((A,K)=>{let z=i.findIndex(X=>X&&A===X),v=F,I=z,N=u.utils.encode_cell({r:v,c:I});c[N]={t:"s",v:b[A]},s.debug&&console.log(l.sheet,k,`RowProcess:${(K+1)/$.length*100}%`,[N,v,I,b[A]])})}})}),console.log("Merge completed successfully.");let S=s.output,C=te.existsSync(S)?u.readFile(S,{cellDates:!0}):u.utils.book_new(),G=(s.sheet||"MergedSheet").substring(0,31);u.utils.book_append_sheet(C,c,G,!0),u.writeFile(C,S,{compression:!0})})()}};Z.exports=oe});var B=_((de,P)=>{P.exports=()=>{let s=m("yargs").scriptName("xl1");s.command(M()),s.command(L());let e=s.parse();(!e._||e._.length===0)&&s.showHelp()}});B()();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "xl1",
3
- "version": "0.0.1",
3
+ "version": "0.0.3",
4
4
  "description": "just some xlsx script.",
5
5
  "bin": {
6
6
  "xl1": "bin/cli.js"