commit
10bb37eb33
@ -0,0 +1,3 @@ |
||||
dist/*.json |
||||
|
||||
node_modules/ |
||||
@ -0,0 +1,53 @@ |
||||
const xlsx=require('xlsx') |
||||
const fs=require('fs') |
||||
|
||||
const handle={ |
||||
topSpeed:value=>Number(Number(value).toFixed(1)), |
||||
acceleration:value=>Number(Number(value).toFixed(2)), |
||||
handling:value=>Number(Number(value).toFixed(2)), |
||||
nitro:value=>Number(Number(value).toFixed(2)), |
||||
nitroDuration:value=>Number(Number(value).toFixed(2)), |
||||
car_id:value=>''+value |
||||
} |
||||
|
||||
const copy=obj=>JSON.parse(JSON.stringify(obj)) |
||||
|
||||
const useHandle=(obj,handle)=>{ |
||||
let res=copy(obj) |
||||
Object.keys(handle).forEach(key=>{ |
||||
if(res[key]){ |
||||
res[key]=handle[key](res[key]) |
||||
} |
||||
|
||||
}) |
||||
return res |
||||
} |
||||
|
||||
const exportJsonLines=(xlsxFilePath,sheetName)=>{ |
||||
const table=xlsx.readFile(xlsxFilePath) |
||||
const dataPath=`dist\\${xlsxFilePath}.${sheetName}.line.json` |
||||
const dataJson=xlsx.utils.sheet_to_json(table.Sheets[sheetName]) |
||||
// console.log(table.Sheets[sheetName]["!merges"])
|
||||
const dataLines=dataJson |
||||
.map(obj=>useHandle(obj,handle)) |
||||
.map(dataItem=>JSON.stringify(dataItem)).join('\n') |
||||
const dataBuffer=Buffer.from(dataLines) |
||||
|
||||
fs.writeFileSync(dataPath,dataBuffer) |
||||
} |
||||
|
||||
//运行命令 node exportJsonLines 文件名 表名,即可导出文件
|
||||
|
||||
// node ./exportJsonLines.js ./狂野飙车9生涯数据-地图.xlsx forJson
|
||||
|
||||
const [,,xlsxFilePath,sheetName]=process.argv |
||||
|
||||
try{ |
||||
|
||||
if(xlsxFilePath&&sheetName){ |
||||
exportJsonLines(xlsxFilePath,sheetName) |
||||
console.log('执行成功') |
||||
} |
||||
}catch(e){ |
||||
console.log(e) |
||||
} |
||||
@ -0,0 +1,23 @@ |
||||
{ |
||||
"name": "a9-data", |
||||
"version": "1.0.0", |
||||
"description": "", |
||||
"main": "index.js", |
||||
"scripts": { |
||||
"test": "echo \"Error: no test specified\" && exit 1", |
||||
"gl:carList":"node .\\exportJsonLines.js .\\国际服小助手.xlsx 数据卡片", |
||||
"gl:versionNoteGL":"node .\\exportJsonLines.js .\\国际服小助手.xlsx versionNoteGL", |
||||
"gl:careerSeasonGL":"node .\\exportJsonLines.js .\\生涯地图精简.xlsx careerSeasonGL", |
||||
|
||||
"al:carList":"node .\\exportJsonLines.js .\\国服小助手.xlsx 数据卡片", |
||||
"al:versionNoteAL":"node .\\exportJsonLines.js .\\国服小助手.xlsx versionNoteAL", |
||||
"al:careerSeasonAL":"node .\\exportJsonLines.js .\\生涯地图精简.xlsx careerSeasonAL", |
||||
|
||||
"tracks":"node .\\exportJsonLines.js .\\生涯地图精简.xlsx track" |
||||
}, |
||||
"author": "", |
||||
"license": "ISC", |
||||
"dependencies": { |
||||
"xlsx": "^0.15.4" |
||||
} |
||||
} |
||||
@ -0,0 +1,88 @@ |
||||
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. |
||||
# yarn lockfile v1 |
||||
|
||||
|
||||
adler-32@~1.2.0: |
||||
version "1.2.0" |
||||
resolved "https://registry.yarnpkg.com/adler-32/-/adler-32-1.2.0.tgz#6a3e6bf0a63900ba15652808cb15c6813d1a5f25" |
||||
integrity sha512-/vUqU/UY4MVeFsg+SsK6c+/05RZXIHZMGJA+PX5JyWI0ZRcBpupnRuPLU/NXXoFwMYCPCoxIfElM2eS+DUXCqQ== |
||||
dependencies: |
||||
exit-on-epipe "~1.0.1" |
||||
printj "~1.1.0" |
||||
|
||||
adler-32@~1.3.0: |
||||
version "1.3.1" |
||||
resolved "https://registry.yarnpkg.com/adler-32/-/adler-32-1.3.1.tgz#1dbf0b36dda0012189a32b3679061932df1821e2" |
||||
integrity sha512-ynZ4w/nUUv5rrsR8UUGoe1VC9hZj6V5hU9Qw1HlMDJGEJw5S7TfTErWTjMys6M7vr0YWcPqs3qAr4ss0nDfP+A== |
||||
|
||||
cfb@^1.1.4: |
||||
version "1.2.2" |
||||
resolved "https://registry.yarnpkg.com/cfb/-/cfb-1.2.2.tgz#94e687628c700e5155436dac05f74e08df23bc44" |
||||
integrity sha512-KfdUZsSOw19/ObEWasvBP/Ac4reZvAGauZhs6S/gqNhXhI7cKwvlH7ulj+dOEYnca4bm4SGo8C1bTAQvnTjgQA== |
||||
dependencies: |
||||
adler-32 "~1.3.0" |
||||
crc-32 "~1.2.0" |
||||
|
||||
codepage@~1.14.0: |
||||
version "1.14.0" |
||||
resolved "https://registry.yarnpkg.com/codepage/-/codepage-1.14.0.tgz#8cbe25481323559d7d307571b0fff91e7a1d2f99" |
||||
integrity sha512-iz3zJLhlrg37/gYRWgEPkaFTtzmnEv1h+r7NgZum2lFElYQPi0/5bnmuDfODHxfp0INEfnRqyfyeIJDbb7ahRw== |
||||
dependencies: |
||||
commander "~2.14.1" |
||||
exit-on-epipe "~1.0.1" |
||||
|
||||
commander@~2.14.1: |
||||
version "2.14.1" |
||||
resolved "https://registry.yarnpkg.com/commander/-/commander-2.14.1.tgz#2235123e37af8ca3c65df45b026dbd357b01b9aa" |
||||
integrity sha512-+YR16o3rK53SmWHU3rEM3tPAh2rwb1yPcQX5irVn7mb0gXbwuCCrnkbV5+PBfETdfg1vui07nM6PCG1zndcjQw== |
||||
|
||||
commander@~2.17.1: |
||||
version "2.17.1" |
||||
resolved "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf" |
||||
integrity sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg== |
||||
|
||||
crc-32@~1.2.0: |
||||
version "1.2.2" |
||||
resolved "https://registry.yarnpkg.com/crc-32/-/crc-32-1.2.2.tgz#3cad35a934b8bf71f25ca524b6da51fb7eace2ff" |
||||
integrity sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ== |
||||
|
||||
exit-on-epipe@~1.0.1: |
||||
version "1.0.1" |
||||
resolved "https://registry.yarnpkg.com/exit-on-epipe/-/exit-on-epipe-1.0.1.tgz#0bdd92e87d5285d267daa8171d0eb06159689692" |
||||
integrity sha512-h2z5mrROTxce56S+pnvAV890uu7ls7f1kEvVGJbw1OlFH3/mlJ5bkXu0KRyW94v37zzHPiUd55iLn3DA7TjWpw== |
||||
|
||||
frac@~1.1.2: |
||||
version "1.1.2" |
||||
resolved "https://registry.yarnpkg.com/frac/-/frac-1.1.2.tgz#3d74f7f6478c88a1b5020306d747dc6313c74d0b" |
||||
integrity sha512-w/XBfkibaTl3YDqASwfDUqkna4Z2p9cFSr1aHDt0WoMTECnRfBOv2WArlZILlqgWlmdIlALXGpM2AOhEk5W3IA== |
||||
|
||||
printj@~1.1.0: |
||||
version "1.1.2" |
||||
resolved "https://registry.yarnpkg.com/printj/-/printj-1.1.2.tgz#d90deb2975a8b9f600fb3a1c94e3f4c53c78a222" |
||||
integrity sha512-zA2SmoLaxZyArQTOPj5LXecR+RagfPSU5Kw1qP+jkWeNlrq+eJZyY2oS68SU1Z/7/myXM4lo9716laOFAVStCQ== |
||||
|
||||
ssf@~0.10.3: |
||||
version "0.10.3" |
||||
resolved "https://registry.yarnpkg.com/ssf/-/ssf-0.10.3.tgz#8eae1fc29c90a552e7921208f81892d6f77acb2b" |
||||
integrity sha512-pRuUdW0WwyB2doSqqjWyzwCD6PkfxpHAHdZp39K3dp/Hq7f+xfMwNAWIi16DyrRg4gg9c/RvLYkJTSawTPTm1w== |
||||
dependencies: |
||||
frac "~1.1.2" |
||||
|
||||
wmf@~1.0.1: |
||||
version "1.0.2" |
||||
resolved "https://registry.yarnpkg.com/wmf/-/wmf-1.0.2.tgz#7d19d621071a08c2bdc6b7e688a9c435298cc2da" |
||||
integrity sha512-/p9K7bEh0Dj6WbXg4JG0xvLQmIadrner1bi45VMJTfnbVHsc7yIajZyoSoK60/dtVBs12Fm6WkUI5/3WAVsNMw== |
||||
|
||||
xlsx@^0.15.4: |
||||
version "0.15.6" |
||||
resolved "https://registry.yarnpkg.com/xlsx/-/xlsx-0.15.6.tgz#461f841d6d9ea1a8375e2cd246bf23aece08a1d5" |
||||
integrity sha512-7vD9eutyLs65iDjNFimVN+gk/oDkfkCgpQUjdE82QgzJCrBHC4bGPH7fzKVyy0UPp3gyFVQTQEFJaWaAvZCShQ== |
||||
dependencies: |
||||
adler-32 "~1.2.0" |
||||
cfb "^1.1.4" |
||||
codepage "~1.14.0" |
||||
commander "~2.17.1" |
||||
crc-32 "~1.2.0" |
||||
exit-on-epipe "~1.0.1" |
||||
ssf "~0.10.3" |
||||
wmf "~1.0.1" |
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in new issue