-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.html
411 lines (391 loc) · 34.4 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
<!DOCTYPE html>
<html class="writer-html5" lang="zh-CN" data-content_root="./">
<head>
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>xresloader文档 — xresloader-document https://xresloader.atframe.work 文档</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="_static/css/theme.css?v=19f00094" />
<link rel="stylesheet" type="text/css" href="_static/css/custom.css?v=1fb93e06" />
<!--[if lt IE 9]>
<script src="_static/js/html5shiv.min.js"></script>
<![endif]-->
<script src="_static/jquery.js?v=5d32c60e"></script>
<script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
<script src="_static/documentation_options.js?v=26a91e76"></script>
<script src="_static/doctools.js?v=9a2dae69"></script>
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="_static/translations.js?v=beaddf03"></script>
<script src="_static/js/theme.js"></script>
<link rel="author" title="关于此文档" href="about.html" />
<link rel="index" title="索引" href="genindex.html" />
<link rel="search" title="搜索" href="search.html" />
<link rel="next" title="下载工具集" href="users/download.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="#" class="icon icon-home">
xresloader-document
<img src="_static/logo.png" class="logo" alt="Logo"/>
</a>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
<input type="text" name="q" placeholder="搜索文档" aria-label="搜索文档" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="导航菜单">
<p class="caption" role="heading"><span class="caption-text">用户文档</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="users/download.html">下载工具集</a></li>
<li class="toctree-l1"><a class="reference internal" href="users/quick_start.html">快速上手</a></li>
<li class="toctree-l1"><a class="reference internal" href="users/xresloader_core.html">转表引擎-xresloader</a></li>
<li class="toctree-l1"><a class="reference internal" href="users/data_mapping.html">协议->Excel数据映射和支持的配置读取源 (scheme)</a></li>
<li class="toctree-l1"><a class="reference internal" href="users/output_format.html">数据输出和数据加载</a></li>
<li class="toctree-l1"><a class="reference internal" href="users/xresconv.html">批量转表工具</a></li>
<li class="toctree-l1"><a class="reference internal" href="users/data_types.html">数据类型说明</a></li>
<li class="toctree-l1"><a class="reference internal" href="users/xres_code_generator.html">使用 xres-code-generator 生成解析代码</a></li>
<li class="toctree-l1"><a class="reference internal" href="users/advance_usage.html">高级功能</a></li>
<li class="toctree-l1"><a class="reference internal" href="users/ecosystem_and_tools.html">生态和周边工具</a></li>
<li class="toctree-l1"><a class="reference internal" href="users/faq.html">FAQ</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">开发文档</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="development/dependency.html">环境和依赖项</a></li>
<li class="toctree-l1"><a class="reference internal" href="development/build.html">编译和打包</a></li>
<li class="toctree-l1"><a class="reference internal" href="development/pkg_source.html">使用国内的源</a></li>
<li class="toctree-l1"><a class="reference internal" href="development/design_xresloader.html">转表引擎设计模型</a></li>
<li class="toctree-l1"><a class="reference internal" href="development/design_xresconv.html">批量转表工具设计模型</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">其他</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="LICENSE.html">LICENSE</a></li>
<li class="toctree-l1"><a class="reference internal" href="about.html">关于 xresloader</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="移动版导航菜单" >
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="#">xresloader-document</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="页面导航">
<ul class="wy-breadcrumbs">
<li><a href="#" class="icon icon-home" aria-label="Home"></a></li>
<li class="breadcrumb-item active">xresloader文档</li>
<li class="wy-breadcrumbs-aside">
<a href="_sources/index.rst.txt" rel="nofollow"> 查看页面源码</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<section id="xresloader">
<h1>xresloader文档<a class="headerlink" href="#xresloader" title="Link to this heading"></a></h1>
<p><a class="reference external" href="https://github.com/xresloader">xresloader</a> 是一组用于把Excel数据结构化并导出为程序可读的数据文件的导表工具集。它包含了一系列跨平台的工具、协议描述和数据读取代码。</p>
<p>主要功能特点:</p>
<ul class="simple">
<li><p>跨平台(java 11 or upper)</p></li>
<li><p>Excel => protobuf/msgpack/lua/javascript/json/xml</p></li>
<li><p>完整支持协议结构,包括嵌套结构和数组嵌套</p></li>
<li><p>同时支持protobuf proto v2 和 proto v3</p></li>
<li><p>支持导出proto枚举值到lua/javascript代码和json/xml数据</p></li>
<li><p>支持导出proto描述信息值到lua/javascript代码和json/xml数据(支持自定义插件,方便用户根据proto描述自定义反射功能)</p></li>
<li><p>支持导出 UnrealEngine 支持的json或csv格式,支持自动生成和导出 UnrealEngine 的 <code class="docutils literal notranslate"><span class="pre">DataTable</span></code> 加载代码</p></li>
<li><p>支持别名表,用于给数据内容使用一个易读的名字</p></li>
<li><p>支持验证器,可以在数据里直接填写proto字段名或枚举名,或者验证填入数据的是否有效</p></li>
<li><p>支持通过protobuf协议插件控制部分输出</p></li>
<li><p>支持自动合表,把多个Excel数据表合并成一个输出文件</p></li>
<li><p>支持公式</p></li>
<li><p>支持oneof,支持plain模式输入字符串转为数组或复杂结构,支持map</p></li>
<li><p>支持空数据压缩(裁剪)或保留定长数组</p></li>
<li><p>支持基于正则表达式分词的字段名映射转换规则</p></li>
<li><p>支持设置数据版本号</p></li>
<li><p>Lua输出支持全局导出或导出为 <code class="docutils literal notranslate"><span class="pre">require</span></code> 模块或导出为 <code class="docutils literal notranslate"><span class="pre">module</span></code> 模块。</p></li>
<li><p>Javascript输出支持全局导出或导出为 <code class="docutils literal notranslate"><span class="pre">nodejs</span></code> 模块或导出为 <code class="docutils literal notranslate"><span class="pre">AMD</span></code> 模块。</p></li>
<li><p>提供CLI批量转换工具(支持python 2.7/python 3 @ Windows、macOS、Linux)</p></li>
<li><p>提供GUI批量转换工具(支持Windows、macOS、Linux)</p></li>
<li><p>CLI/GUI批量转换工具支持include来实现配置复用</p></li>
</ul>
<table class="docutils align-default">
<thead>
<tr class="row-odd"><th class="head"><p>构建环境</p></th>
<th class="head"><p>构建状态</p></th>
</tr>
</thead>
<tbody>
<tr class="row-even"><td><p><a class="reference external" href="https://github.com/xresloader">xresloader</a></p></td>
<td><p>Linux (OpenJDK 11): <a class="reference external" href="https://github.com/xresloader/xresloader/actions?query=workflow%3AMain+Building"><img alt="Build Status" src="https://github.com/xresloader/xresloader/actions/workflows/build.yml/badge.svg" /></a></p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference external" href="https://github.com/xresloader/xresconv-cli">xresconv-cli</a></p></td>
<td><p>直接下载发布包即可,无需构建打包</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference external" href="https://github.com/xresloader/xresconv-gui">xresconv-gui</a></p></td>
<td><p><a class="reference external" href="https://github.com/xresloader/xresconv-gui/actions?query=workflow%3Abuild"><img alt="Build Status" src="https://github.com/xresloader/xresconv-gui/workflows/build/badge.svg" /></a></p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference external" href="https://github.com/xresloader/xres-code-generator">xres-code-generator</a></p></td>
<td><p>读表代码生成工具,直接下载即可,无需构建打包</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference external" href="https://github.com/xresloader/xresloader-dump-bin">xresloader-dump-bin</a></p></td>
<td><p>导出二进制转文本工具。<a class="reference external" href="https://github.com/xresloader/xresloader-dump-bin"><img alt="Build Status" src="https://github.com/xresloader/xresloader-dump-bin/actions/workflows/main.yml/badge.svg" /></a></p></td>
</tr>
<tr class="row-odd"><td><p>文档</p></td>
<td><p><a class="reference external" href="https://github.com/xresloader/xresloader-docs/actions?query=workflow%3Amain"><img alt="Documentation Status" src="https://github.com/xresloader/xresloader-docs/actions/workflows/main.yml/badge.svg" /></a></p></td>
</tr>
</tbody>
</table>
<img alt="https://img.shields.io/github/v/release/xresloader/xresloader" src="https://img.shields.io/github/v/release/xresloader/xresloader" />
<img alt="https://img.shields.io/github/languages/code-size/xresloader/xresloader" src="https://img.shields.io/github/languages/code-size/xresloader/xresloader" />
<img alt="https://img.shields.io/github/repo-size/xresloader/xresloader" src="https://img.shields.io/github/repo-size/xresloader/xresloader" />
<img alt="https://img.shields.io/github/downloads/xresloader/xresloader/total" src="https://img.shields.io/github/downloads/xresloader/xresloader/total" />
<img alt="https://img.shields.io/github/forks/xresloader/xresloader?style=social" src="https://img.shields.io/github/forks/xresloader/xresloader?style=social" />
<img alt="https://img.shields.io/github/stars/xresloader/xresloader?style=social" src="https://img.shields.io/github/stars/xresloader/xresloader?style=social" />
<section id="v2-11-0-rc2">
<h2>v2.11.0-rc2及以前版本更新迁移指引<a class="headerlink" href="#v2-11-0-rc2" title="Link to this heading"></a></h2>
<p>由于 v2.11.0-rc3 版本变更了默认的索引器,导致对Excel一些内置的数据类型处理和先前有一些差异。比如对于日期时间类型、百分率等。
现在会先转出原始的文本,再根据protocol的目标类型做转换。如果需要回退到老的POI索引,可以使用 <code class="docutils literal notranslate"><span class="pre">--enable-excel-formular</span></code> 选项切换到老的索引器。</p>
<p>新版本开始使用JDK 11打包,如果仍然需要 JDK1.8打包请自行下载源码并修改 <code class="docutils literal notranslate"><span class="pre">pom.xml</span></code> 内 <code class="docutils literal notranslate"><span class="pre">maven-compiler-plugin</span></code> 的 <code class="docutils literal notranslate"><span class="pre">source</span></code> 和 <code class="docutils literal notranslate"><span class="pre">target</span></code> 后使用 <code class="docutils literal notranslate"><span class="pre">mvn</span> <span class="pre">package</span></code> 命令打包。</p>
<p><a class="reference external" href="https://github.com/xresloader">xresloader</a> 主要文档分为以下几个模块:</p>
<ul class="simple">
<li><p><a class="reference internal" href="#user-docs"><span class="std std-ref">用户文档</span></a></p></li>
<li><p><a class="reference internal" href="#development-docs"><span class="std std-ref">开发文档</span></a></p></li>
<li><p><a class="reference internal" href="#about-docs"><span class="std std-ref">其他</span></a></p></li>
</ul>
<div class="toctree-wrapper compound" id="user-docs">
<p class="caption" role="heading"><span class="caption-text">用户文档</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="users/download.html">下载工具集</a></li>
<li class="toctree-l1"><a class="reference internal" href="users/quick_start.html">快速上手</a><ul>
<li class="toctree-l2"><a class="reference internal" href="users/quick_start.html#step-1">Step-1: 下载转表工具</a></li>
<li class="toctree-l2"><a class="reference internal" href="users/quick_start.html#step-2-protobufprotoc">Step-2: 配置结构化的protobuf协议并使用protoc</a></li>
<li class="toctree-l2"><a class="reference internal" href="users/quick_start.html#step-3-excel">Step-3: 配置Excel数据源</a></li>
<li class="toctree-l2"><a class="reference internal" href="users/quick_start.html#step-4">Step-4: 配置批量转表配置文件</a></li>
<li class="toctree-l2"><a class="reference internal" href="users/quick_start.html#step-5">Step-5: 运行转表工具</a><ul>
<li class="toctree-l3"><a class="reference internal" href="users/quick_start.html#step-5-1">Step-5.1: 命令行批量转表工具</a></li>
<li class="toctree-l3"><a class="reference internal" href="users/quick_start.html#step-5-2-gui">Step-5.2: GUI批量转表工具</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="users/quick_start.html#step-6">Step-6: 加载数据</a><ul>
<li class="toctree-l3"><a class="reference internal" href="users/quick_start.html#step-6-1-xres-code-generator-c-lua-c-upb-lua-ue">Step-6.1: (推荐)使用 xres-code-generator 生成解析代码(C++/Lua/C#/Upb Lua//UE蓝图)</a></li>
<li class="toctree-l3"><a class="reference internal" href="users/quick_start.html#step-6-2">Step-6.2: 手动解析</a></li>
<li class="toctree-l3"><a class="reference internal" href="users/quick_start.html#step-6-3-6-1">Step-6.3: (老式接口,不推荐,请考虑使用上面6.1的加载方法)使用读取库模板解析</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="users/quick_start.html#proto-v2">使用proto v2加载二进制数据的特别注意事项</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="users/xresloader_core.html">转表引擎-xresloader</a><ul>
<li class="toctree-l2"><a class="reference internal" href="users/xresloader_core.html#id2">xresloader-可用参数列表</a></li>
<li class="toctree-l2"><a class="reference internal" href="users/xresloader_core.html#id3">批处理</a></li>
<li class="toctree-l2"><a class="reference internal" href="users/xresloader_core.html#id4">直接使用xresloader</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="users/data_mapping.html">协议->Excel数据映射和支持的配置读取源 (scheme)</a><ul>
<li class="toctree-l2"><a class="reference internal" href="users/data_mapping.html#id1">配置项的结构</a></li>
<li class="toctree-l2"><a class="reference internal" href="users/data_mapping.html#scheme">数据映射-Scheme</a><ul>
<li class="toctree-l3"><a class="reference internal" href="users/data_mapping.html#id2">数据源</a></li>
<li class="toctree-l3"><a class="reference internal" href="users/data_mapping.html#message">类型嵌套和Message嵌套</a></li>
<li class="toctree-l3"><a class="reference internal" href="users/data_mapping.html#id3">数组和下标</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="users/data_mapping.html#data-mapping-available-options">可用的配置项</a><ul>
<li class="toctree-l3"><a class="reference internal" href="users/data_mapping.html#id5">关于设置编码</a></li>
<li class="toctree-l3"><a class="reference internal" href="users/data_mapping.html#callbackscript">关于使用 <code class="docutils literal notranslate"><span class="pre">CallbackScript</span></code> 处理数据</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="users/data_mapping.html#id6">从哪里读取字段映射信息?</a><ul>
<li class="toctree-l3"><a class="reference internal" href="users/data_mapping.html#id7">直接写在批量转表文件里(推荐)</a></li>
<li class="toctree-l3"><a class="reference internal" href="users/data_mapping.html#excel-xls-xlsx">直接写在Excel里: 文件后缀.xls,.xlsx</a></li>
<li class="toctree-l3"><a class="reference internal" href="users/data_mapping.html#json-json">直接写在json文件里: 文件后缀.json</a></li>
<li class="toctree-l3"><a class="reference internal" href="users/data_mapping.html#ini-ini-conf-cfg">直接写在ini文件里: 文件后缀.ini,.conf,.cfg</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="users/data_mapping.html#id8">完整的样例</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="users/output_format.html">数据输出和数据加载</a><ul>
<li class="toctree-l2"><a class="reference internal" href="users/output_format.html#id2">输出类型</a><ul>
<li class="toctree-l3"><a class="reference internal" href="users/output_format.html#output-format-export-binary">导出为协议二进制数据 (推荐)</a></li>
<li class="toctree-l3"><a class="reference internal" href="users/output_format.html#jsonxmllua">导出为json、xml、lua代码等文本数据 (可选)</a></li>
<li class="toctree-l3"><a class="reference internal" href="users/output_format.html#msgpack">导出为Msgpack打包的二进制数据 (可选)</a></li>
<li class="toctree-l3"><a class="reference internal" href="users/output_format.html#uecsvjson">导出为UE支持的CSV或JSON数据和代码 (可选)</a></li>
<li class="toctree-l3"><a class="reference internal" href="users/output_format.html#output-format-export-enum">导出枚举类型成代码 (可选)</a></li>
<li class="toctree-l3"><a class="reference internal" href="users/output_format.html#id5">导出协议描述成代码 (可选)</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="users/output_format.html#proto-v2proto-v3">Proto v2和Proto v3</a></li>
<li class="toctree-l2"><a class="reference internal" href="users/output_format.html#id6">数据加载</a><ul>
<li class="toctree-l3"><a class="reference internal" href="users/output_format.html#xres-code-generator-c-lua-c-upb-lua-ue">方式-1(推荐): (推荐)使用 xres-code-generator 生成解析代码(C++/Lua/C#/Upb Lua/UE蓝图)</a></li>
<li class="toctree-l3"><a class="reference internal" href="users/output_format.html#c">方式-2(可选): 使用C++加载二进制数据</a></li>
<li class="toctree-l3"><a class="reference internal" href="users/output_format.html#lua-pbc">方式-3(可选): 使用lua-pbc加载二进制数据</a></li>
<li class="toctree-l3"><a class="reference internal" href="users/output_format.html#c-dynamicmessage-net">方式-4(可选): 使用C#和DynamicMessage-net加载二进制数据</a></li>
<li class="toctree-l3"><a class="reference internal" href="users/output_format.html#id7">方式-5(可选): 加载msgpack文本数据</a></li>
<li class="toctree-l3"><a class="reference internal" href="users/output_format.html#node-jsjavascript">方式-6(可选): 使用node.js加载javascript文本数据</a></li>
<li class="toctree-l3"><a class="reference internal" href="users/output_format.html#lua">方式-7(可选): 使用lua加载导出的枚举类型</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="users/xresconv.html">批量转表工具</a><ul>
<li class="toctree-l2"><a class="reference internal" href="users/xresconv.html#guicli">批量转表 - GUI和CLI工具示例</a></li>
<li class="toctree-l2"><a class="reference internal" href="users/xresconv.html#id3">批量转表 - 配置示例</a></li>
<li class="toctree-l2"><a class="reference internal" href="users/xresconv.html#id4">批量转表 - 配置结构规范</a></li>
<li class="toctree-l2"><a class="reference internal" href="users/xresconv.html#cli">CLI批量转表工具 - 启动参数</a></li>
<li class="toctree-l2"><a class="reference internal" href="users/xresconv.html#gui">GUI批量转表工具 - 启动参数</a></li>
<li class="toctree-l2"><a class="reference internal" href="users/xresconv.html#id5">GUI批量转表工具 - 特殊事件</a><ul>
<li class="toctree-l3"><a class="reference internal" href="users/xresconv.html#gui-root-gui-set-name">GUI事件 - 显示转表项名称 <code class="docutils literal notranslate"><span class="pre">//root/gui/set_name</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="users/xresconv.html#gui-root-gui-on-before-convert-root-gui-on-after-convert">GUI事件 - 转表前事件和转表成功后事件 <code class="docutils literal notranslate"><span class="pre">//root/gui/on_before_convert</span></code> 和 <code class="docutils literal notranslate"><span class="pre">//root/gui/on_after_convert</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="users/xresconv.html#id8">GUI批量转表工具 - 自定义按钮</a><ul>
<li class="toctree-l3"><a class="reference internal" href="users/xresconv.html#id9">GUI自定义按钮 - 基本配置</a></li>
<li class="toctree-l3"><a class="reference internal" href="users/xresconv.html#id10">GUI自定义按钮 - 自定义脚本(点击回调)</a></li>
<li class="toctree-l3"><a class="reference internal" href="users/xresconv.html#id11">GUI自定义按钮 - 按钮样式</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="users/data_types.html">数据类型说明</a><ul>
<li class="toctree-l2"><a class="reference internal" href="users/data_types.html#repeated">数组、repeated和数据结构</a></li>
<li class="toctree-l2"><a class="reference internal" href="users/data_types.html#data-types-stable-array">定长数组</a></li>
<li class="toctree-l2"><a class="reference internal" href="users/data_types.html#id3">无符号整数</a></li>
<li class="toctree-l2"><a class="reference internal" href="users/data_types.html#id4">日期和时间类型</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="users/xres_code_generator.html">使用 xres-code-generator 生成解析代码</a><ul>
<li class="toctree-l2"><a class="reference internal" href="users/xres_code_generator.html#proto">第一步,在proto文件中声明加载器和索引类型</a></li>
<li class="toctree-l2"><a class="reference internal" href="users/xres_code_generator.html#c">生成C++加载代码</a><ul>
<li class="toctree-l3"><a class="reference internal" href="users/xres_code_generator.html#ue-unrealengine-blueprint">UE(UnrealEngine)蓝图(Blueprint)支持</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="users/xres_code_generator.html#lua">生成Lua加载代码</a></li>
<li class="toctree-l2"><a class="reference internal" href="users/xres_code_generator.html#id4">生成C#加载代码</a></li>
<li class="toctree-l2"><a class="reference internal" href="users/xres_code_generator.html#upb-lua">生成基于 upb 的Lua加载代码</a></li>
<li class="toctree-l2"><a class="reference internal" href="users/xres_code_generator.html#id5">自定义模板和更多语言</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="users/advance_usage.html">高级功能</a><ul>
<li class="toctree-l2"><a class="reference internal" href="users/advance_usage.html#id2">文本替换(别名/宏)</a></li>
<li class="toctree-l2"><a class="reference internal" href="users/advance_usage.html#id3">多表数据合并</a></li>
<li class="toctree-l2"><a class="reference internal" href="users/advance_usage.html#id4">数据验证器</a></li>
<li class="toctree-l2"><a class="reference internal" href="users/advance_usage.html#protobuf">Protobuf 插件支持</a><ul>
<li class="toctree-l3"><a class="reference internal" href="users/advance_usage.html#protobuf-message">Protobuf插件 - Message插件</a></li>
<li class="toctree-l3"><a class="reference internal" href="users/advance_usage.html#protobuf-field">Protobuf插件 - Field插件</a></li>
<li class="toctree-l3"><a class="reference internal" href="users/advance_usage.html#protobuf-enumvalue">Protobuf插件 - EnumValue插件</a></li>
<li class="toctree-l3"><a class="reference internal" href="users/advance_usage.html#protobuf-oneof-2-8-0">Protobuf插件 - Oneof插件(2.8.0版本及以上)</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="users/advance_usage.html#id9">仅导出部分字段</a></li>
<li class="toctree-l2"><a class="reference internal" href="users/advance_usage.html#include">批量转表的include标签</a></li>
<li class="toctree-l2"><a class="reference internal" href="users/advance_usage.html#id10">公式支持</a></li>
<li class="toctree-l2"><a class="reference internal" href="users/advance_usage.html#id11">定长数组</a></li>
<li class="toctree-l2"><a class="reference internal" href="users/advance_usage.html#plain-xresloader-2-7-0">Plain模式(需要 xresloader 2.7.0及以上)</a></li>
<li class="toctree-l2"><a class="reference internal" href="users/advance_usage.html#oneof-union-xresloader-2-8-0">Oneof/Union支持(需要 xresloader 2.8.0及以上)</a></li>
<li class="toctree-l2"><a class="reference internal" href="users/advance_usage.html#map-xresloader-2-9-0">Map类型支持(需要 xresloader 2.9.0及以上)</a></li>
<li class="toctree-l2"><a class="reference internal" href="users/advance_usage.html#callbackscript-xresloader-2-13-0">使用 <code class="docutils literal notranslate"><span class="pre">CallbackScript</span></code> 处理数据(需要 xresloader 2.13.0及以上)</a></li>
<li class="toctree-l2"><a class="reference internal" href="users/advance_usage.html#xresloader-2-14-0-rc1">多字段复制(需要 xresloader 2.14.0-rc1及以上)</a></li>
<li class="toctree-l2"><a class="reference internal" href="users/advance_usage.html#excel-xresloader-2-14-0-rc2">剔除Excel误操作带来的空数据行(需要 xresloader 2.14.0-rc2及以上)</a></li>
<li class="toctree-l2"><a class="reference internal" href="users/advance_usage.html#xresloader-2-14-0-rc2">唯一性检测(需要 xresloader 2.14.0-rc2及以上)</a></li>
<li class="toctree-l2"><a class="reference internal" href="users/advance_usage.html#xresloader-2-14-0-rc3">通过自定义验证器在复用验证器规则组合(需要 xresloader 2.14.0-rc3及以上)</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="users/ecosystem_and_tools.html">生态和周边工具</a><ul>
<li class="toctree-l2"><a class="reference internal" href="users/ecosystem_and_tools.html#id2">二进制转可读文本工具: xresloader-dump-bin</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="users/faq.html">FAQ</a><ul>
<li class="toctree-l2"><a class="reference internal" href="users/faq.html#id1">哪里有完整的示例?</a></li>
<li class="toctree-l2"><a class="reference internal" href="users/faq.html#id2">为什么会读到很多空数据?</a></li>
<li class="toctree-l2"><a class="reference internal" href="users/faq.html#excel">为什么Excel里填的时间,但是转出来是一个负数?</a></li>
<li class="toctree-l2"><a class="reference internal" href="users/faq.html#windows-java-nio-charset-unsupportedcharsetexception-cp65001">Windows下控制台里执行执行会报文件编码错误?(java.nio.charset.UnsupportedCharsetException: cp65001)</a></li>
<li class="toctree-l2"><a class="reference internal" href="users/faq.html#c-xresloader-multiple-definition-of-org-xresloader-pb-xresloader-xxx">C++加载代码编译时出现xresloader符号重定义(multiple definition of <code class="docutils literal notranslate"><span class="pre">org::xresloader::pb::xresloader_XXX)</span></code></a></li>
<li class="toctree-l2"><a class="reference internal" href="users/faq.html#c-xresloader">C++加载代码编译时出现xresloader版本检查错误</a></li>
<li class="toctree-l2"><a class="reference internal" href="users/faq.html#proto-v2apirepeated-wire-type">proto v2版本API解析repeated的整数或浮点数类型字段失败(Wire Type)</a></li>
<li class="toctree-l2"><a class="reference internal" href="users/faq.html#proto-unsigned-uint32uint64-ue-signed-int32-int64">为什么在proto里定义的是一个无符号(unsigned)类型(uint32、uint64等),实际输出的UE代码是有符号(signed)的(int32/int64)?</a></li>
<li class="toctree-l2"><a class="reference internal" href="users/faq.html#ue-csv-ue-json-name">为什么 <code class="docutils literal notranslate"><span class="pre">UE-Csv</span></code> 和 <code class="docutils literal notranslate"><span class="pre">UE-Json</span></code> 输出的代码会多一个 <code class="docutils literal notranslate"><span class="pre">Name</span></code> 字段?</a></li>
<li class="toctree-l2"><a class="reference internal" href="users/faq.html#excelue">要如何配置可以让Excel里的数据指向UE的类型或资源</a></li>
<li class="toctree-l2"><a class="reference internal" href="users/faq.html#ue-oneof-case-fstring-uenum">为什么UE的代码输出里对 <code class="docutils literal notranslate"><span class="pre">oneof</span></code> 的case输出使用 <code class="docutils literal notranslate"><span class="pre">FString</span></code> 的字段名而不使用 <code class="docutils literal notranslate"><span class="pre">UEnum()</span></code></a></li>
<li class="toctree-l2"><a class="reference internal" href="users/faq.html#can-not-reserve-enough-space-for-xxx-objecct-heap">提示 <code class="docutils literal notranslate"><span class="pre">Can</span> <span class="pre">not</span> <span class="pre">reserve</span> <span class="pre">enough</span> <span class="pre">space</span> <span class="pre">for</span> <span class="pre">XXX</span> <span class="pre">objecct</span> <span class="pre">heap</span></code></a></li>
</ul>
</li>
</ul>
</div>
<div class="toctree-wrapper compound" id="development-docs">
<p class="caption" role="heading"><span class="caption-text">开发文档</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="development/dependency.html">环境和依赖项</a><ul>
<li class="toctree-l2"><a class="reference internal" href="development/dependency.html#id2">转表工具- xresloader</a></li>
<li class="toctree-l2"><a class="reference internal" href="development/dependency.html#id3">命令行批量转表工具- xresconv-cli</a></li>
<li class="toctree-l2"><a class="reference internal" href="development/dependency.html#gui-xresconv-gui">GUI批量转表工具- xresconv-gui</a></li>
<li class="toctree-l2"><a class="reference internal" href="development/dependency.html#id4">代码生成工具- xres-code-generator</a></li>
<li class="toctree-l2"><a class="reference internal" href="development/dependency.html#c-message-dynamicmessage-net">C#的动态Message支持- DynamicMessage-net</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="development/build.html">编译和打包</a><ul>
<li class="toctree-l2"><a class="reference internal" href="development/build.html#id2">更新依赖包</a></li>
<li class="toctree-l2"><a class="reference internal" href="development/build.html#id3">其他仓库地址</a><ul>
<li class="toctree-l3"><a class="reference internal" href="development/build.html#id4">公有仓库地址</a></li>
<li class="toctree-l3"><a class="reference internal" href="development/build.html#id5">私有仓库地址</a></li>
<li class="toctree-l3"><a class="reference internal" href="development/build.html#maven">其他maven功能</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="development/pkg_source.html">使用国内的源</a><ul>
<li class="toctree-l2"><a class="reference internal" href="development/pkg_source.html#maven">国内的Maven源</a></li>
<li class="toctree-l2"><a class="reference internal" href="development/pkg_source.html#npm">加速NPM包下载</a><ul>
<li class="toctree-l3"><a class="reference internal" href="development/pkg_source.html#npmhttps">关闭npm的https</a></li>
<li class="toctree-l3"><a class="reference internal" href="development/pkg_source.html#id2">设置npm的软件源</a></li>
<li class="toctree-l3"><a class="reference internal" href="development/pkg_source.html#id3">代理</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="development/design_xresloader.html">转表引擎设计模型</a></li>
<li class="toctree-l1"><a class="reference internal" href="development/design_xresconv.html">批量转表工具设计模型</a></li>
</ul>
</div>
<div class="toctree-wrapper compound" id="about-docs">
<p class="caption" role="heading"><span class="caption-text">其他</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="LICENSE.html">LICENSE</a><ul>
<li class="toctree-l2"><a class="reference internal" href="LICENSE.html#id1">LICENSE - 文档</a></li>
<li class="toctree-l2"><a class="reference internal" href="LICENSE.html#license-xresloader">LICENSE - xresloader</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="about.html">关于 xresloader</a></li>
</ul>
</div>
</section>
</section>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="页脚">
<a href="users/download.html" class="btn btn-neutral float-right" title="下载工具集" accesskey="n" rel="next">下一页 <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div>
<hr/>
<div role="contentinfo">
<p>© 版权所有 2024, xresloader。</p>
</div>
利用 <a href="https://www.sphinx-doc.org/">Sphinx</a> 构建,使用的
<a href="https://github.com/readthedocs/sphinx_rtd_theme">主题</a>
由 <a href="https://readthedocs.org">Read the Docs</a> 开发.
</footer>
</div>
</div>
</section>
</div>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>