本發(fā)明涉及虛幻4引擎(UE4),涉及Excel表,尤指一種UE4支持Excel表的實(shí)現(xiàn)方法。
背景技術(shù):
現(xiàn)有技術(shù)的虛幻4引擎(UE4)不支持Excel表,這是其缺點(diǎn)。
技術(shù)實(shí)現(xiàn)要素:
針對(duì)現(xiàn)有技術(shù)的缺點(diǎn),本發(fā)明的目的在于提供一種UE4支持Excel表的實(shí)現(xiàn)方法。
本發(fā)明解決其技術(shù)問(wèn)題所采用的技術(shù)方案是:提供一種UE4支持Excel表的實(shí)現(xiàn)方法,其特征在于包括如下步驟:
(1)使用C++建立與Excel表的連接,得到Excel表在內(nèi)存中的數(shù)據(jù);
(2)取出整個(gè)Excel表的內(nèi)存數(shù)據(jù):利用C++對(duì)Excel表的接口,取出Excel表在電腦內(nèi)存中的數(shù)據(jù),并保存在緩沖區(qū)中;
(3)解析Excel每一個(gè)單元格的數(shù)據(jù):根據(jù)單元格的類(lèi)型,解析緩沖區(qū)中Excel表每個(gè)單元格的數(shù)據(jù);
(4)封裝對(duì)每一個(gè)單元格操作的API:封裝對(duì)Excel表行、列、單元格的操作的API;
(5)把Orange_ExcelDll模塊放到UE4目錄的Engine\Source\ThirdParty;
(6)在UE4項(xiàng)目的Build.cs文件中指明加入該模塊:
PublicDependencyModuleNames.AddRange(new string[]{"Core","CoreUObject","Engine","InputCore","Orange5s_ExcelDll"}),并加入該模塊的頭文件#include"ThirdParty/Orange5s_ExcelDll/include/Orange5s_ExcelDll/Orange5s_ExcelDll.hpp";
(7)UE4開(kāi)始在自己的引擎目錄下的ThirdParty中搜索相應(yīng)的Orange_ExcelDll;
(8)使用Orange_ExcelDll作用域下的API,導(dǎo)出Excel表:使用Orange_ExcelDll作用域下的API,可以對(duì)Excel表任意單元格作操作,在緩沖區(qū)中操作Excel表數(shù)據(jù);
(9)使用Orange_ExcelDll作用域下的API,將緩沖區(qū)數(shù)據(jù)導(dǎo)出Excel表(.xlsx類(lèi)型)。
本發(fā)明根據(jù)UE4的規(guī)則,配置模塊,將其放到制定路徑下,成為第三方功能拓展(Third Party),通過(guò)Visual Studio編譯的Dll文件,UE4通過(guò)Dll接口,實(shí)現(xiàn)對(duì)Excel文件的操控,實(shí)現(xiàn)編輯、導(dǎo)出、使用Excel表的功能。
本發(fā)明的有益效果是:
(1)可以依靠Excel表作為數(shù)據(jù)庫(kù),利用Excel表易使用的特性,方便策劃等工作者填寫(xiě)數(shù)據(jù)作為數(shù)據(jù)庫(kù)使用。
(2)不需要使用UE4中.csv這種不友好的純文本文件,也不需要使用sql server、sqlite、Oracle等這些常規(guī)的專(zhuān)業(yè)數(shù)據(jù)庫(kù),一個(gè)Excel表就足夠了。