表格导入
1. 将Excel表格转为CSV文件,提供一种方法仅供参考:
Excel->另存为->CSV;转换完成后,使用notepad打开查看转换是否正确,CSV文件以逗号分隔单元格;
-
创建表格数据结构,可使用蓝图或C++创建
(1) 蓝图创建:Content Browser:Add New > Blueprints > Structure,定义与表格相关的数据结构
(2) C++创建:结构关键字设为Blueprintable,继承FTableRowBase
- UE中导入CSV文件:Content Browser:Import->选择处理好了的CSV文件->Import(或直接将该文件拖至Conten Browser中)->选择为表格定义的数据结构->OK;导入CSV文件后,可双击打开查看该表格数据内容;
- 访问导入的DataTable:蓝图中提供两个node供使用。分别为GetDataTableRowNames,GetDataTableRow;
导入过程中的一些问题分析:
1.Cannot find Property for column ‘name’ in struct ‘*‘.
Expected column ‘LocationX’ not found in input.
定义的数据结构与表格不一致:建议对照表格修改数据结构
2.列不对应或提示Too few rows.首列未定义列数:首列之前插入一列,列名为空,内容为数据记录的列数,如
First Second
FIRST ID
1 100
2 101
3 102
4 105
3.中文乱码:编码格式不一致,将CSV文件修改为UTF-8格式,可用Notepad++修改和查看当前编码格式,正确的编码格式应为UTF-8-BOM
4.数字显示不完全,显示为科学计数法等形式:Excel中修改该列的数字格式,选择合适的格式;右键->设置单元格格式->数字->寻找合适的格式
参考网址:DataTables”>https://wiki.unrealengine.com/Using_excel_to_store_gameplay_data-_DataTables