unity3d发布WebGL格式读取Excel文件

unity3d本身可以读取excel文件,引入一个dll就可以了。但是当打包发布成webgl格式的时候,首先File就不能用了,所以必须借助JS来读取Excel,然后将读取的结果发送给unity3d。

html代码:



  
    
    
    Unity WebGL Player | GuoLu
    
    
      
    
	
    
  
  
    

JS使用xlsx.full.min.js 将本地的excel文件解析出来,然后保存为json格式,发送给unity3d。unity读取json,注意unity自带的JsonUtility.FromJson读取json的方法有很多限制,有坑,需要本地创建两个类来读取。而且json的格式也必须是这样:

{
  "inforList":
  [
    {
      "name": "yy",
      "age": "100"
    },
    {
      "name": "zz",
      "age": "100"
    }
  ]
}

unity3d代码:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

[System.Serializable]
public class JsonData
{
    public string name;
    public string age;
}
[System.Serializable]
public class Test
{
    public List inforList;
}


public class JsonTest : MonoBehaviour {

    // Use this for initialization
    void Start () {
        TextAsset ta = Resources.Load("MyTestJson");
        Debug.Log(ta.text);
        Test list = JsonUtility.FromJson(ta.text);
        foreach (var item in list.inforList)
        {
            Debug.Log(item.name);
        }
    }
}

 

你可能感兴趣的:(Unity3d)