https://www.nuget.org/packages/ExcelToDotnet/
Excel To Dotnet Compatible Data (Enum, Class, JSON)
It can be said to be a converter that can be used in Unity, C# applications, etc.
An Excel Sheet with a set rule is required.
In the case of Enum, only the Enum sheet must be registered. Otherwise, the sheet name becomes the class name.
In all cases, # is used as a comment (table, column, etc.).
In case of Enum, start :Begin and end point should be :End.
In the case of a table, the first row must be the column name, and the end point must be specified with :End. The second row is the data type, and it is possible to link to the Id column of another table with $.
Unity, C# ์ ํ๋ฆฌ์ผ์ด์ ๋ฑ์์ ์ฌ์ฉํ ์ ์๋ ๋ณํ๊ธฐ์ ๋๋ค.
๊ท์น์ ๋ง๊ฒ ์ ๋ ฅ๋ Excel ์ํธ๊ฐ ํ์ํฉ๋๋ค.
Enum์ ๊ฒฝ์ฐ Enum ์ํธ๋ง ๋ฑ๋กํด์ผ ํฉ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ์ํธ ์ด๋ฆ์ด ํด๋์ค ์ด๋ฆ์ด ๋ฉ๋๋ค.
๋ชจ๋ ๊ฒฝ์ฐ์ #์ ์ฃผ์(ํ ์ด๋ธ, ์ด ๋ฑ)์ผ๋ก ์ฌ์ฉ๋ฉ๋๋ค.
Enum์ ๊ฒฝ์ฐ ์์ :Begin, ๋์ ์ :End์ฌ์ผ ํฉ๋๋ค. (:Begin์ -b ์ปค๋งจ๋๋ผ์ธ ๋ช ๋ น์ผ๋ก, :End๋ -r (ํ), -z (์ปฌ๋ผ) ์ปค๋งจ๋ ๋ผ์ธ ๋ช ๋ น์ผ๋ก ์ฌ์ง์ ๊ฐ๋ฅํฉ๋๋ค)
ํ ์ด๋ธ์ ๊ฒฝ์ฐ ์ฒซ ๋ฒ์งธ ํ์ ์ด ์ด๋ฆ์ด์ด์ผ ํ๋ฉฐ ๋์ ์ :End๋ก ์ง์ ํด์ผ ํฉ๋๋ค. (:End๋ -r (ํ), -z (์ปฌ๋ผ) ์ปค๋งจ๋ ๋ผ์ธ ๋ช ๋ น์ผ๋ก ์ฌ์ง์ ๊ฐ๋ฅํฉ๋๋ค)
๋ ๋ฒ์งธ ํ์ ๋ฐ์ดํฐ ํ์ ์ผ๋ก $๋ก ๋ค๋ฅธ ํ ์ด๋ธ์ Id ์ปฌ๋ผ๊ณผ ์ฐ๊ฒฐ์ด ๊ฐ๋ฅ ํฉ๋๋ค.
comment or description
ignore id column check
comment or description
ignore type check (Custom DataType)
It should be 100 when summing the row values. dataType double
Refers to the key of the sheet (table) of the string following $. (Error if associated value does not exist
cleanup & generate all option.
This is a function to check for duplicates within a table using the same index by placing a secondary index.
์ฝ๋ฉํธ ๋๋ ์ค๋ช
์ํธ ๋ณํ์ ์๋ํ์ง ์๊ณ ์ฐธ์กฐ์ฉ ํ์ด์ง์์ ์ฌ์ฉํด์ฃผ์ธ์.
Id ์ปฌ๋ผ ์กด์ฌ ์ฌ๋ถ ํ์ธ ๋ฌด์
์์ ๊ฐ์ด ํ ์ด๋ธ๋ช (์ํธ๋ช )์ ์ฌ์ฉ์, Id ์ปฌ๋ผ์ ๋ํ ์ฒดํฌ๋ฅผ ๋ฌด์ํฉ๋๋ค.
์์ ๊ฐ์ ๋ํ ๊ธฐ๋ฅ์ผ๋ก, Id ์ปฌ๋ผ์ ๋ํ ์ ํจ์ฑ ๊ฒ์ฌ๋ฅผ ํ์ง ์์ต๋๋ค.
์์ ๊ฐ์ด Id ์ปฌ๋ผ์ด ์์ด๋ ์ฌ์ฉ ๊ฐ๋ฅํฉ๋๋ค. ! ํค์๋์ ๋์ผํ ๋์์ ๋๋ค.
์ฝ๋ฉํธ ๋๋ ์ค๋ช
ํ์ด๋ ์ด์ ์ฌ์ฉ์, ํด๋น ํ์ด๋ ์ด์ ๋ชจ๋ ์ฃผ์์ผ๋ก ์ธ์๋ฉ๋๋ค.
primitive type์ด ์๋, using์ ํตํด ๊ฐ์ข ๋ด์ฅ ํ์ ํน์ ์ธ๋ถ ๋ฏธ๋ฆฌ ์ ์ธ๋ ํ์ ์ ์ฌ์ฉํ๊ณ ์ ํ ๊ฒฝ์ฐ ์ฌ์ฉ (Custom DataType)
!Vector3 ๊ฐ ์์์ด๋ฉฐ, Vector3๋ฅผ System.Numerics.Vector3๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด์ ! ํค์๋๋ฅผ ์์ ๋ถ์์ผ๋ก์จ, ํ์ ๊ฒ์ฌ๋ฅผ ๋ฌดํจํ ํ๋ ๊ธฐ๋ฅ์ ๋๋ค.
์ด ๊ธฐ๋ฅ์ ๋จ๋ฐ ํ ๊ฒฝ์ฐ, ์๋ฒ๋ ํด๋ผ์ด์ธํธ ์ปดํ์ผ ์ค๋ฅ๋ก ์ด์ด์ง ์ ์์ผ๋ฏ๋ก ์ฃผ์ ํด์ผ ํฉ๋๋ค.
ํ ๊ฐ์ ํฉ์ฐํ ๋ 100์ด์ด์ผ ํฉ๋๋ค.
ํ์ ์ด ํฉ์ ๊ณ์ฐํด์, 100์ธ์ง ์๋์ง๋ฅผ ๊ฒ์ฌํ๋ ๊ธฐ๋ฅ์ ๋๋ค.
$ ๋ค์ ์ค๋ ๋ฌธ์์ด์ ์ํธ(ํ ์ด๋ธ)์ ํค๋ฅผ ์ฐธ์กฐํฉ๋๋ค. (์ฐ๊ฒฐ๋ ๊ฐ์ด ํด๋น ํ ์ด๋ธ์ ์์ผ๋ฉด ์ค๋ฅ)
ํน์ ์ปฌ๋ผ์ด, $์ดํ์ ์ฐ์ธ ๋ฌธ์์ด์ ํด๋นํ๋ ํ ์ด๋ธ์ ์กด์ฌํ๋์ง ํ์ธํ๋ ๊ธฐ๋ฅ์ ๋๋ค.
์์๋ Id ์ปฌ๋ผ์ ๋ํด์ ์ฐธ์กฐ ๊ฐ์ผ๋ก ์ฌ์ฉํ๋๋ฐ์, Id์ปฌ๋ผ์ด ์๋ ์ผ๋ฐ ์ปฌ๋ผ์์๋ ์ฌ์ฉ ๊ฐ๋ฅํฉ๋๋ค.
๋ชจ๋ ์ต์ ์ ์ ๋ฆฌํ๊ณ ์์ฑํฉ๋๋ค.
๋ณด์กฐ ์ธ๋ฑ์ค๋ฅผ ๋ฐฐ์นํ์ฌ ๋์ผํ ์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํ๋ ํ ์ด๋ธ ๋ด์์ ์ค๋ณต ์ฌ๋ถ๋ฅผ ํ์ธํ๋ ๊ธฐ๋ฅ์ ๋๋ค.
์ ์์๋ SubIndex๊ฐ ๊ฐ์ ๊ฐ์ธ ํ์ ๋ํด์, SubKey์ ๋ํด ์ค๋ณต ๊ฒ์ฌ๋ฅผ ํด์ค๋ค๋ ์๋ฏธ์ ๋๋ค.
์๋ฅผ ๋ค์ด, ํน์ ์คํ ์ด์ง์ ๋ํ ๋ณด์์ ์ง๊ธ ํ ๋, ๋์ผํ ์คํ ์ด์ง์์๋ ๋์ผํ ๋ณด์์ ์ ํํ์ง ์๊ฒ ํ๊ณ ์ถ์ ๋ ์ฌ์ฉํ์๋ฉด ๋ฉ๋๋ค.
https://github.com/elky84/ExcelToDotnet/blob/main/ExcelCli/Character.xlsx
dotnet add package ExcelToDotnet
Release: https://github.com/elky84/ExcelToDotnet/releases
Reference : https://github.com/elky84/ExcelToDotnet/blob/main/ExcelCli/Program.cs, https://github.com/elky84/ExcelToDotnet/blob/main/ExcelCli
require dotnet 6 (LTS) or later rumtime (also include rumtime in SDK) (https://dotnet.microsoft.com/en-us/download)
dotnet tool install -g ExcelCli
execute command name is excel2dotnet
excel2dotnet -f {fileName}
excel2dotnet -d {directory}
excel2dotnet -d {directory} -e
excel2dotnet d {directory} -v
excel2dotnet d {directory} -l
execute file name excel2dotnet
instead of ExcelCli
- upgrade Dotnet runtime version to 9.0
- changes package structures.
- remove CodeGenerateExtend, CodeTemplate.
- code fix for nullable rules.
- refactoring Generator.cs
- upgrade Dotnet runtime version to 8.0
- If it is a List type and contains an Enum, delete the condition that must not be Nullable.
- Fix Probability validation error.
- Check excel files only generate mode.
- Modify DataTableEx's members to be non-nullable
- removed string value Trim().
- added string value Trim().
- The added rule is that the list enum type must be Nullable.
- fixed only string column validate id. (changes check all column type)
- fixed tableName with ! (remove !) on validation mode.
- changed check probability sum by column.
- added exception log on enum table empty string.
- fixed tableName with ! (remove !)
- fixed convert !Vector3, !Vector2 bug.
- Fixed Validation Failed Exit Code. (0x0 -> 0x4)
- Support System.Numerics Vector2 and Vector3
- Table EndsWith mark location to StartsWith.
- support custom table type. (use with '!')
- generate class to partial class
- removed ignore mode
- added wide mode (cleanup & generate all option)
- fixed sub index, probability functions.