将Excel数据传输到Unity

问题描述 投票:0回答:1

我在excel电子表格中有一个大的数据列表,我需要在我的Unity项目中传输一些数组。我一直在寻找一些方法,并可能会尝试其中的一些方法,但我有另一个问题。是否可以在没有额外插件或工具的情况下,将Excel数据转移到Unity数组中?就用基础的Unity?

excel unity3d
1个回答
2
投票

正如@julienkay所说,如果excel文件是一个.csv可以作为纯文本文件处理。但是 如果不是呢?

如果你使用的是.xlsx,我建议你使用的是 Microsoft.Office.Interop.Excel;它很容易使用,但要让它在Unity中工作不是那么容易,这就是为什么这个 联系 可以帮助你!

这是一个关于如何使用Interop.Excel方法的简单例子,这段代码将在这个excel中创建一个充满书名和链接的字典。

private void Exel()
{
    Dictionary<string, string> linkTitleDict = new Dictionary<string, string>();

    Application app = new Application();
    Workbook excelWorkbook = app.Workbooks.Open(@"C:\Users\...\SpringerEbooks.xlsx");
    Sheets excelSheets = excelWorkbook.Worksheets;
    string currentSheet = "Table 1";
    Worksheet excelWorksheet = (Worksheet)excelSheets.get_Item(currentSheet);
    //
    for (int i = initialRow; i < finalRow + 1; i++)
    {
        string bookTitle = (string)(excelWorksheet.Cells[i, 2] as Range).Value;
        string bookLink = (string)(excelWorksheet.Cells[i, 5] as Range).Value;
        linkTitleDict.Add(bookLink, bookTitle);
    }
}

这就是excel的样子enter image description here


1
投票

如果你愿意把你的excel文件保存为.csv格式来加载到Unity中,这很容易实现,不需要额外的插件,因为.csv本质上只是一个文本文件。关于如何解析一个.csv文件,可以在这里找到一个例子。https:/bravenewmethod.com20140913lightweight-csv-reader-for-unity。

如果你想读取本地的excel文件(.xlsx),那就比较困难了。

© www.soinside.com 2019 - 2024. All rights reserved.