• 大小: 21.08MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-06-15
  • 语言: Python
  • 标签: excel  

资源简介

使用python可以将excel转成cocos 用的lua json 和js文件。内涵一键安装程序 是之前上传的更新版

资源截图

代码片段和文件信息

import xlrd
import os
import sys

reload(sys)
sys.setdefaultencoding(“utf-8“)

inPath = sys.argv[1]
outPath = sys.argv[2]
param = sys.argv[3]

class ExcelLoad():
def __init__(self_path):
self.path = _path
self.data = ““
self.sheets_name = []

def covertxml(selffilename):
self.data = xlrd.open_workbook(self.path)
self.sheets_name = self.data.sheet_names()
# for el in self.sheets_name:
#  table = self.data.sheet_by_name(el)
#  self.loadData(eltable)
table = self.data.sheet_by_name(self.sheets_name[0])
self.loadData(filename.split(“.“)[0]table)

def loadData(self_name_data):
if(param == “lua“):
self.loadDataLua(_name_data)
elif(param == “json“):
self.loadDataJson(_name_data)
elif(param == “js“):
self.loadDataJs(_name_data)

def loadDataLua(self_name_data):
file = open(outPath + _name + “Data.lua““w“)
file.writelines(_name + “ = {\n“)
cols = _data.ncols
rows = _data.nrows
for i in range(rows):
if(i >= 2):
file.write(“  [\““ + str(_data.cell(i1).value) + “\“] = {“)
for j in range(cols):
if(j >= 2):
file.write(“[\““ + str(_data.cell(1j).value) + “\“] = “)
cellString = self.isType(_data.cell(ij))
file.write(cellString)
if(j != cols - 1):
file.write(““)
file.write(“ }\n“)
file.writelines(“}“)

def loadDataJson(self_name_data):
file = open(outPath + _name + “Data.json““w“)
file.writelines(“{\n“)
cols = _data.ncols
rows = _data.nrows
for i in range(rows):
if(i >= 2):
file.write(“    \““ + str(_data.cell(i1).value) + “\“ : {“)
for j in range(cols):
if( j>= 2):
file.write(“\““ + str(_data.cell(1j).value) + “\“ : “)
cellString = self.isType(_data.cell(ij))
file.write(cellString)
if(j != cols - 1):
file.write(““)
file.write(“ }\n“)
file.writelines(“}“)

def loadDataJs(self_name_data):
file = open(outPath + _name + “Data.js““w“)
file.writelines(“var “+_name+“Data = {\n“)
cols = _data.ncols
rows = _data.nrows
for i in range(rows):
if(i >= 2):
file.write(“    “ + str(_data.cell(i1).value) + “ : {“)
for j in range(cols):
if(j >= 1):
file.write(str(_data.cell(1j).value) + “: “)
cellString = self.isType(_data.cell(ij))
file.write(cellString)
if(j != cols - 1):
file.write(““)
file.write(“ }\n“)
file.writelines(“}“)

def isType(self_st):
if isinstance(_st.valuestr):
sr = “\““ + _st.value + “\““
elif _st.ctype == xlrd.XL_CELL_NUMBER:
if _st.value == int(_st.value):
sr = str(int(_st.value))
else:
sr = str(_st.value)
elif _st.ctype == xlrd.XL_CELL_BOOLEAN:
if _st.value == 1:
sr = “true“
else:
sr = “false“
else:
sr = “\““ + str(_st.value) + “\““
return sr

def main():
for parentdirnamesfilenames in os.walk(inPath): 
for filename in filenames: 
if filenam

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件    21973130  2017-01-14 21:04  ConvertExcel\Install.zip
     文件         822  2016-12-20 17:18  ConvertExcel\readme
     目录           0  2017-01-14 20:40  ConvertExcel\Tool\
     文件         115  2016-12-20 09:50  ConvertExcel\Tool\ConvertToJS.bat
     文件         117  2016-12-20 09:48  ConvertExcel\Tool\ConvertToJSON.bat
     文件         116  2016-12-19 17:21  ConvertExcel\Tool\ConvertToLUA.bat
     文件        3214  2017-01-12 16:47  ConvertExcel\Tool\ConvertXls.py
     目录           0  2017-01-14 20:40  ConvertExcel\Tool\Excel\
     文件      148480  2016-12-19 18:23  ConvertExcel\Tool\Excel\hero.xls
     目录           0  2017-01-14 20:40  ConvertExcel\Tool\OutPut\
     文件        2944  2017-01-12 16:47  ConvertExcel\Tool\OutPut\heroData.js
     文件        3509  2017-01-12 16:48  ConvertExcel\Tool\OutPut\heroData.json
     文件        3946  2017-01-12 16:48  ConvertExcel\Tool\OutPut\heroData.lua

评论

共有 条评论