`
aigo
  • 浏览: 2679150 次
  • 性别: Icon_minigender_1
  • 来自: 宜昌
社区版块
存档分类
最新评论

[UE4]引擎自身提供的一种夸平台读写Excel的组件:DataTable

UE4 
阅读更多

 

UE4自身提供的一种读写文件的组件:UDataTable。好处就是不用自己写fopen、fclose等 c++ stl API相关的逻辑,避开不同平台的差异;坏处就是你想要的功能DataTable没有实现,那么还得用fopen自己发挥。

 

读写excel需要导出为CSV文件,目前还不支持*.XLS格式。

 

下面官方文档中关于用C++代码定义行结构的用法没有具体说明:

如果是蓝图创建DataTable,那么行结构Struct也可以用UE4提供的Struct组件,创建方式是:add new -》 Blueprints -》 Structure,然后再这个Structure中设置行结构。

如果是用C++代码创建DataTable,直接new C++ class,选择继承DataTable。另外FTableRowBase可以直接定义在自定义DataTable的头文件中,例如:

#pragma once

#include "Engine/DataTable.h"
#include "CharactersDT.generated.h"

USTRUCT(BlueprintType)
struct FLevelUpData : public FTableRowBase
{
	GENERATED_USTRUCT_BODY()

public:

	FLevelUpData()
		: XPtoLvl(0)
		, AdditionalHP(0)
	{}

	/** The 'Name' column is the same as the XP Level */

	/** XP to get to the given level from the previous level */
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = LevelUp)
		int32 XPtoLvl;

	/** Extra HitPoints gained at this level */
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = LevelUp)
		int32 AdditionalHP;

	/** Icon to use for Achivement */
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = LevelUp)
		TAssetPtr<UTexture> AchievementIcon;
};
 

 

Using excel to store gameplay data - DataTables

https://wiki.unrealengine.com/Using_excel_to_store_gameplay_data_-_DataTables

 

Data Driven Gameplay Elements

https://docs.unrealengine.com/latest/INT/Gameplay/DataDriven/index.html

 

Driving Gameplay with Data from Excel

https://forums.unrealengine.com/showthread.php?12572-Driving-Gameplay-with-Data-from-Excel

 

用蓝图操作DataTable的方法:
Unreal Engine, Datatables for Blueprints (build & Use)

https://www.youtube.com/watch?v=a8jMl69alrg

Excel to Unreal

https://www.youtube.com/watch?v=WLv67ddnzN0

 

如何用C++代码动态加载*.CSV

如果你的表格很少的话可以使用这个自带的DataTable,如果表格很多且会频繁改动,那么每次改动后都要手动在UE编辑器中一个一个操作,所以,建议用C++动态加载*.csv:

FString csvFile = FPaths::GameContentDir() + "Downloads\\DownloadedFile.csv";
if (FPaths::FileExists(csvFile ))
{
	FString FileContent;
	//Read the csv file
	FFileHelper::LoadFileToString(FileContent, *csvFile );
	TArray<FString> problems = YourDataTable->CreateTableFromCSVString(FileContent);

	if (problems.Num() > 0)
	{
		for (int32 ProbIdx = 0; ProbIdx < problems.Num(); ProbIdx++)
		{        
			//Log the errors
		}
	}
	else
	{
		//Updated Successfully
	}
}

 参考自:

https://answers.unrealengine.com/questions/156354/how-to-load-the-csv-datatable-dynamically.html

 

 

 

分享到:
评论

相关推荐

    RichFaces的rich:dataTable组件内action actionListener不能使用

    这是我用来测试的一个工程,都不能在rich:dataTable中使用action actionListener 博文链接:https://insomniask.iteye.com/blog/111030

    从Excel_导入数据到DataTable

    2. **DataTable**:.NET Framework中的一个类,提供了一种类似于数据库表的数据结构,支持行和列的概念,可用于在内存中存储和操作数据。 3. **Microsoft.Office.Interop.Excel**:这是一个.NET命名空间,提供了用于...

    C#把excel中的数据读入到datatable中去

    在.NET开发环境中,C#是一种常用的编程语言,用于构建各种应用程序。当涉及到处理电子表格数据时,例如Excel文件,C#提供了多种库和方法来实现数据的读取、操作和写入。本教程将深入讲解如何使用C#将Excel中的数据...

    两种方式 一种oledb 一种 excel.application excel 转为 datatable

    其中一种常见的需求就是将 Excel 数据转换为 `DataTable` 对象,以便进行进一步的数据处理或分析。本文将详细介绍两种实现这一目标的方法:第一种是通过 OLEDB 连接器的方式;第二种是通过 `Excel.Application` 对象...

    excel文件转为DataTable

    以EPPlus为例,这是一个.NET库,专门用于读写Open XML Excel文件。以下是一个基本示例,演示如何使用EPPlus将Excel文件加载到DataTable: ```csharp using OfficeOpenXml; using System.Data; // 加载Excel文件 ...

    datatable数据导出excel

    在IT行业中,`DataTable`是一种常见的数据操作对象,尤其在.NET框架中,它被广泛用于存储和处理结构化的数据。而将`DataTable`中的数据导出到Excel文件,是数据分析和报告生成时的一个常见需求。这涉及到数据处理、...

    excel导入到datatable

    ### Excel导入到DataTable知识点详解 #### 一、知识点概述 在日常工作中,我们经常会遇到将Excel数据导入到数据库中的需求。通常来说,这样的操作可以分为两个步骤:首先将Excel文件中的数据读取并加载到一个中间...

    Excel导入到Datatable中

    在.NET开发环境中,将Excel数据导入到DataTable是一种常见的操作,特别是在处理大量结构化数据时。Excel文件因其易读写和良好的格式支持,常被用作数据交换格式。本主题将详细讲解如何通过C#实现这一过程,以及涉及...

    NPOI操作实例C# ExcelToDataTable DataTableToExcel

    在C#编程环境中,NPOI提供了一种强大的方式来读取、写入和操作Excel文件,而无需依赖Microsoft Office。这个“NPOI操作实例C# ExcelToDataTable DataTableToExcel”是一个很好的学习资源,它展示了如何在C# WinForm...

    基于npoi的Excel读取 转换成Datatable(含源码)

    在.NET开发环境中,当需要处理Excel文件时,NPOI是一个非常流行的库,它提供了对Microsoft Office文件格式(包括Excel)的读写功能。本文将详细介绍如何使用NPOI库来读取Excel文件,并将其内容转换为DataTable对象,...

    读取excel到datatable

    3. **Excel文件格式**:Excel文件有两种主要格式:`.xls`(Excel 97-2003格式)和`.xlsx`(Excel 2007及以上版本格式)。不同的格式需要使用不同的驱动程序来进行读取。 #### 三、代码解析 1. **设置连接字符串**:...

    读取Excel数据到DataTable

    读取Excel数据到DataTable是一种常见的数据交换方式,我们可以使用OleDbConnection来连接Excel文件,并使用GetOleDbSchemaTable方法来获取Excel文件中的工作簿列表,然后读取每个工作簿中的数据,并将其保存到...

    C#读写Excel和Word文件

    在IT行业中,C#是一种广泛使用的编程语言,尤其在开发Windows桌面应用和.NET框架下的软件时。本主题聚焦于利用C#进行Excel和Word文件的读写操作,这对于数据分析、报告生成以及信息处理等任务至关重要。以下是关于...

    UiPath Datatable 导出Excel.docx

    UiPath Datatable 导出 Excel UiPath Datatable 是一个功能强大且灵活的数据表处理工具,能够高效地处理和操作大量数据。将 Datatable 导出到 Excel 是 RPA 之家的常见需求,而本文将详细讲解如何将 Datatable 导出...

    DataTable,DataView和DataGrid用法教程:DataTable,DataView和DataGrid中一些容易混淆的概念,详细讲解了它的区别和用法。

    在.NET框架中,DataTable、DataView和DataGrid是用于数据操作和展示的重要组件,它们各自承担着不同的职责,但又紧密相连。以下是对这三个概念的详细解析和它们之间的关系。 首先,`DataTable`是ADO.NET数据模型的...

    GridView导出Excel DataTable导出Excel 实例源码

    本文将深入探讨如何使用C#语言,在VS2008中结合Access数据库,实现GridView控件的数据导出到Excel以及直接将DataTable对象导出到Excel的功能。 一、GridView导出Excel 1. GridView概述:GridView是一种基于Web的...

    C#导入Excel到Datatable等等

    改程序实现了Excel的数据导入到Datatable,在后台动态生成Lable和文本框等控件,以及如何取到控件的值和生成文本文档、添加显示图片等等的源代码,下载所需积分怎么涨这么快,给大家点福利,重置为5积分。

    Excel文档导入到C# DataTable

    4. **获取工作表**:ExcelPackage对象有一个Worksheets集合,可以从中获取你需要的工作表。假设我们的数据在第一个工作表中。 ```csharp ExcelWorksheet worksheet = excelPackage.Workbook.Worksheets[0]; ``` 5. ...

Global site tag (gtag.js) - Google Analytics