master
WalterBright 4 years ago
parent c53d5c0650
commit 6699ede0fa
  1. 10
      README.md
  2. 69
      exportJsonLines.js
  3. 11
      package.json
  4. BIN
      国服小助手.xlsx
  5. BIN
      国际服小助手.xlsx
  6. BIN
      生涯地图.xlsx

@ -1,7 +1,5 @@
# XLSX-TOOL # 狂野飙车9数据表
运行命令 + 国服全车数据表
+ 国际全车服数据表
```cmd + 生涯地图表
node exportJson 文件名 表名
```

@ -1,53 +1,52 @@
const xlsx=require('xlsx') const xlsx = require('xlsx')
const fs=require('fs') const fs = require('fs')
const handle={ const handle = {
topSpeed:value=>Number(Number(value).toFixed(1)), topSpeed: (value) => Number(Number(value).toFixed(1)),
acceleration:value=>Number(Number(value).toFixed(2)), acceleration: (value) => Number(Number(value).toFixed(2)),
handling:value=>Number(Number(value).toFixed(2)), handling: (value) => Number(Number(value).toFixed(2)),
nitro:value=>Number(Number(value).toFixed(2)), nitro: (value) => Number(Number(value).toFixed(2)),
nitroDuration:value=>Number(Number(value).toFixed(2)), nitroDuration: (value) => Number(Number(value).toFixed(2)),
car_id:value=>''+value car_id: (value) => '' + value,
} }
const copy=obj=>JSON.parse(JSON.stringify(obj)) const copy = (obj) => JSON.parse(JSON.stringify(obj))
const useHandle=(obj,handle)=>{ const useHandle = (obj, handle) => {
let res=copy(obj) let res = copy(obj)
Object.keys(handle).forEach(key=>{ Object.keys(handle).forEach((key) => {
if(res[key]){ if (res[key]) {
res[key]=handle[key](res[key]) res[key] = handle[key](res[key])
} }
}) })
return res return res
} }
const exportJsonLines=(xlsxFilePath,sheetName)=>{ const exportJsonLines = (xlsxFilePath, sheetName) => {
const table=xlsx.readFile(xlsxFilePath) const table = xlsx.readFile(xlsxFilePath)
const dataPath=`dist\\${xlsxFilePath}.${sheetName}.line.json` const dataPath = `dist\\${xlsxFilePath}.${sheetName}.line.json`
const dataJson=xlsx.utils.sheet_to_json(table.Sheets[sheetName]) const dataJson = xlsx.utils.sheet_to_json(table.Sheets[sheetName])
// console.log(table.Sheets[sheetName]["!merges"]) // console.log(table.Sheets[sheetName]["!merges"])
const dataLines=dataJson const dataLines = dataJson
.map(obj=>useHandle(obj,handle)) .map((obj) => useHandle(obj, handle))
.map(dataItem=>JSON.stringify(dataItem)).join('\n') .map((dataItem) => JSON.stringify(dataItem))
const dataBuffer=Buffer.from(dataLines) .join('\n')
const dataBuffer = Buffer.from(dataLines)
fs.writeFileSync(dataPath,dataBuffer) fs.writeFileSync(dataPath, dataBuffer)
} }
//运行命令 node exportJsonLines 文件名 表名,即可导出文件 //运行命令 node exportJsonLines 文件名 表名,即可导出文件
// node ./exportJsonLines.js ./狂野飙车9生涯数据-地图.xlsx forJson // node ./exportJsonLines.js ./狂野飙车9生涯数据-地图.xlsx forJson
const [,,xlsxFilePath,sheetName]=process.argv const [, , xlsxFilePath, sheetName] = process.argv
try{ try {
if (xlsxFilePath && sheetName) {
if(xlsxFilePath&&sheetName){ exportJsonLines(xlsxFilePath, sheetName)
exportJsonLines(xlsxFilePath,sheetName) console.log('执行成功')
console.log('执行成功') }
} } catch (e) {
}catch(e){
console.log(e) console.log(e)
} }

@ -6,14 +6,15 @@
"scripts": { "scripts": {
"test": "echo \"Error: no test specified\" && exit 1", "test": "echo \"Error: no test specified\" && exit 1",
"gl:carList":"node .\\exportJsonLines.js .\\国际服小助手.xlsx 数据卡片", "gl:carList":"node .\\exportJsonLines.js .\\国际服小助手.xlsx 数据卡片",
"gl:versionNoteGL":"node .\\exportJsonLines.js .\\国际服小助手.xlsx versionNoteGL", "gl:versionNote":"node .\\exportJsonLines.js .\\国际服小助手.xlsx versionNoteGL",
"gl:careerSeasonGL":"node .\\exportJsonLines.js .\\生涯地图.xlsx careerSeasonGL", "gl:careerSeason":"node .\\exportJsonLines.js .\\生涯地图.xlsx careerSeasonGL",
"al:carList":"node .\\exportJsonLines.js .\\国服小助手.xlsx 数据卡片", "al:carList":"node .\\exportJsonLines.js .\\国服小助手.xlsx 数据卡片",
"al:versionNoteAL":"node .\\exportJsonLines.js .\\国服小助手.xlsx versionNoteAL", "al:versionNote":"node .\\exportJsonLines.js .\\国服小助手.xlsx versionNoteAL",
"al:careerSeasonAL":"node .\\exportJsonLines.js .\\生涯地图.xlsx careerSeasonAL", "al:careerSeason":"node .\\exportJsonLines.js .\\生涯地图.xlsx careerSeasonAL",
"tracks":"node .\\exportJsonLines.js .\\生涯地图精简.xlsx track" "tracks":"node .\\exportJsonLines.js .\\生涯地图.xlsx track",
"mapTheme":"node .\\exportJsonLines.js .\\生涯地图.xlsx mapTheme"
}, },
"author": "", "author": "",
"license": "ISC", "license": "ISC",

Binary file not shown.

Binary file not shown.

Binary file not shown.
Loading…
Cancel
Save