开发平台:Unity 编程平台:Visual Studio 2020以上 使用语言:C# ?
问题描述
??使用 UnityWebRequest 请求 Excel 数据内容,通过 Debug.Log(requests.downloadHandler.text) 返回 PK 结果值问题。(注意:此处为.xlsx 的Excel表)
public IEnumerator GetExcelData()
{
UnityWebReqeust requests = UnityWebRequest.Get(Application.StreamingAssets + "/MyData.xlsx");
yield renturn requests.SendWebRequest();
Debug.Log($"{requests.downloadHandler.text}");
}
?
问题分析:
??这似乎是 UnityWebReqeust 无法解析 .xlsx 格式数据的问题。暂未找到问题出现的原因。 ?
解决方案
1)使用 Excel.DLL 库作为替代解决方案
using Excel;
using UnityEngine;
public class Example
{
public IEnumerator GetExcelData(string path)
{
}
}
注意 以下情况:
- xlsx 数据文本内所有单元格格式均需设置为 文本。否做应对 日期、货币等数据格式下,获取的数据信息是经处理后的数字内容。
- xlsx 的访问是建立于 该对象未通过 EXCEL 软件打开为前提下进行。若后台存在访问数据表的应用正在运行,则提示 数据获取失败的 Error 报错。
?
2)使用 CSV 数据格式替代方案
操作方法:将原 .xlsx 数据表另存为 .csv 数据文件。通过 UnityWebRequest 可直接获取内容。
注意 以下情况:
- csv 数据文件易出现编码格式错误的情况。应避免使用 Windows 内置编码格式进行转码。选择使用 Nodepad ++ 进行查看与编码。
- csv 数据分类以
, 区别。不适用于部分文本内容存在 , 情况下的数据解析。
|