Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Excel To Scripts

Excel(.xlsx) file data export to script, high-level programming language tools. Support exporting to different scripting languages such as Json, Lua, C#, etc.

Packaged application

$ git clone https://github.com/Veinin/excel-to-scripts.git
$ cd excel-to-scripts
$ npm run pkgwin

Usage

Start the 'excel-to-scripts' execution file and load the configuration file 'config/default.json':

{
    "path": {
        "xlsx": "./data",
        "output": {
            "json": ["./dist/output/json"],
            "lua": ["./dist/output/lua"],
            "cs": ["./dist/output/cs"]
        }
    },
    "options": {
        "namespace": "Game.Configs",
        "baseClass": "ConfigBase",
        "outputTypes": ["json", "cs", "lua"]
    }
}

Where path.xlsx is the Excel file directory and path.output is the data export directory.

After launching the executable, perform the export process.

    1. Use the arrow keys up and down to select the export script type.
    1. Use the arrow keys up and down to select the export file, or enter the selection number directly.
    1. Press the Enter key to execute.

Export

Sheet Format

A single Excel supports multiple Sheet worksheets, with two types of worksheets:

General Worksheet

A normal worksheet is a traditional Excel configuration where the worksheet is divided into header rows (occupying 4 rows) and content rows.

Headers

The table header is divided into 4 rows.

  • Comment Name
  • Field Name
  • Data field type
  • Fourth row reserved row (other advanced features)

Data Type Description

  • Basic Data Types
    • bool, boolean (0=false, 1=true)
    • int, shape-shifting
    • float, floating point
    • string, string
  • Set types, with generic support
    • [int], arrays
      • [[int]], two-dimensional arrays
      • [{id=int,num=int}], dictionary array
    • {id=int,num=int}, dictionary
      • {id=int,nums=[int]}, dictionary array
      • {id=int,nums=[[int]]}, dictionary two-dimensional array
  • Comments, using # markup

Example of worksheet format

UID Describe
id bool_data int_data float_data string_data arr_data dic_data
int # bool int float string [int] {id=int,num=int}
unique
1 a 1 100 1.2 foo 1001, 1002 1001/1002
2 b 0 200 0.1 bar 200, 300 1001/1002

After exporting the above data to Lua, the output is

return {
	{"UID", },
	{"id", "bool_data", "int_data", "float_data", "string_data", "arr_data", "dic_data"},
	{1, true, 100, 1.2, "foo", {1001, 1002}, {id = 1001, num = 1002}},
	{2, false, 200, 0.1, "bar", {200, 300}, {id = 1001, num = 1002}}
}

Constant Worksheet

We may need some systematic constant data, which will be exported in this table when we define an Excel page tab ending with the consts keyword:

The constant table data definition contains 4 columns.

  • Name, the name of the constant field.
  • Type, the field type.
  • Value, the value of the field.
  • Describe, field description.

The example format is.

Name Type Value Describe
TEST_BOOLEAN bool true Floating point
TEST_STRING string hello String constants
TEST_INTEGER int 1 Integer constants
TEST_FLOAT float 1.2 Floating-point constants
TEST_ARRAY [int] 1, 2, 3, 4, 5 Array constants
TEST_MAP {a=int,b=int,c=int} 1/2/3 Dictionary constants

The export produces an output file, such as the output Lua file format.

return {
	TEST_BOOLEAN = true,
	TEST_STRING = "hello",
	TEST_INTEGER = 1,
	TEST_FLOAT = 1.2,
	TEST_ARRAY = {1, 2, 3, 4, 5},
	TEST_MAP = {a = 1, b = 2, c = 3}
}

Comments

Use # to mark.

  • Field type, the data for that column will not be exported.
  • Excel page signature, the data for that page signature will not be exported.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages