下载
Github: https://github.com/ihaiucom/ihaiu.ExportXlsx
安装net core
如果安装过net core, 可以跳过该步骤
下载地址:https://www.microsoft.com/net/download/windows
根据自己电脑情况选择对应版本即可, 我这里安装的这个: https://www.microsoft.com/net/download/thank-you/dotnet-sdk-2.1.300-windows-x64-installer
测试Demo
双击: ExportXlsxTool/Tools/生成配置--客户端.bat
可以看到生成了目录

2个工具
在Tools目录下可以看到两个文件夹
ExportXlsx: 负责导出xlsx配置,生成csv、json和数据结构。客户端会生成csv解析器 Copy: 负责将生成的文件拷贝到项目目录
ExportXlsx.bat
dotnet ./ExportXlsx/ExportXlsx.dll --optionSetting=./ExportXlsxSetting.json
可以看出他需要指定一个启动配置文件ExportXlsxSetting.json, 该文件配置了(xlsx文件目录, 生成输出目录)等,后面我们会详细介绍
CopyClient.bat
dotnet ./Copy/Copy.dll --setting=./CopyClientSetting.json
可以看出他需要指定一个启动配置文件CopyClientSetting.json, 该文件配置了要拷贝的文件,后面我们会详细介绍
生成配置--客户端.bat
dotnet ./ExportXlsx/ExportXlsx.dll --optionSetting=./ExportXlsxSetting.json dotnet ./Copy/Copy.dll --setting=./CopyClientSetting.json
是将ExportXlsx.bat和CopyClient.bat合并, 变成一键生成
ExportXlsxSetting.json 介绍
| 字段名 | 介绍 | 默认值 |
| autoEnd | 运行完,是否自动关闭cmd | true |
| optionSetting | 启动参数设置 配置路径 | ./optionSetting.json |
| xlsxDir | xlsx目录(可以用分号’;’分割填写多个路径) | ../Config |
| outDir | 配置输出目录 | ../ConfigOut |
| exportSettingXlsx | xlsx配置文件 (可以配置扩展数据结构和设置忽略文件) | ../Config/ExportSetting.xlsx |
| settingStructSheet | ExportSetting.xlsx “数据结构”标签 | StructSheet |
| settingStructSheet | ExportSetting.xlsx “忽略列Excel文件”标签 | IgnoreSheet |
| templateDir | 生成代码模板 | ./Template |
| csvSeparator | csv分隔符 | \t |
| csvSeparatorReplace | xlsx文件内容如果有用到csv分隔符时,用该配置替换 | |
| csvLineSeparatorReplace | xlsx文件内容如果有用到换行符时,用该配置替换 | |
| xlsxHeadTypeLine | 表头–Type 所在行 | 1 |
| xlsxHeadCnLine | 表头–中文 所在行 | 2 |
| xlsxHeadFieldLine | 表头–字段 所在行 | 3 |
CopyClientSetting.json 介绍

enableoverwrites: 可覆盖文件 disableoverwrites: 如果目标文件已存在,将忽略
// 支持文件和目录 src: 源路径 dst: 目标路径
xlsx文件表头

表头有3行,他们是必须的:
| type | 类型 |
| cn | 中文 |
| field | 字段行 |
如果要修改行的顺序, 可以修改ExportXlsxSetting.json

xlsx表头 类型
默认支持的类型有:
| string |
| int |
| int64 |
| float |
| double |
| boolean |
默认支持的数组类型有:
| string[] |
| int[] |
| int64[] |
| float[] |
| double[] |
| boolean[] |
可以看出只要有支持的类型就可以加中括号[]表示数组
扩展 自定义数据结构类型
到 ../Config/ExportSetting.xlsx 文件下添加自己的数据结构
注意: 自定义的数据结构一定要以DT开头

使用就和其他的一样

数据里的分割符
| 一级分隔符 | ; |
| 二级分隔符 | : |
配置忽略文件
到 ../Config/ExportSetting.xlsx IgnoreSheet标签
