Unity读取Excel文档

原材料:

1.EPPlus.dll、Excel.dll、ICSharpCode.SharpZipLib.dll。

2.Unity2020.3.2f1

3.rider

步骤

1.unity工程Plugins文件夹内添加Dll。

2.添加代码。

  public class LoadExcelData : MonoBehaviour
        {
            private static LoadExcelData instance;
            public static LoadExcelData Instance => instance;
        
            public string filePath; 
            private Awake()
            {
                Instance = this;
            }
            public void Start()
            {
        
                fliePath=Application.streamingAssetsPath + "/CellData.xls";
            }

            public void ReadExcel(string filePath)
            {
                FileStream stream = File.Open(filePath, FileMode.Open, FileAccess.Read, FileShare.Read);
                //Debug.Log(stream.Length);

                IExcelDataReader excelReader = null;
                //读取两种不同格式的excel,用的api不同
                if (filePath.Contains(".xls"))
                {

                      excelReader = ExcelReaderFactory.CreateBinaryReader(stream);
                }
                else
                {
                      excelReader = ExcelReaderFactory.CreateOpenXmlReader(stream);
                }

                DataSet result = excelReader.AsDataSet();
                for (int i = 0; i < result.Tables.Count; i++)
                {
                    //Tables[i]为sheet
                    var count = result.Tables[i].Rows.Count;
                    for (int j = 0; j < count; j++)
                    {
                        for (int k = 0; k < count; k++)
                        {
                             //检查数据如果有不是定义的字符打印log
                             if (str != "s" && str != "e")
                            {
                                Debug.Log($"检查数据:{result.Tables[i].TableName}\"str\" pos: {j}{k}");
                            }
            
                        }
                    }

                }

                stream.Close();
            }
}

问题记录

1.策划写数据的时候注意表格内空格里不能有全角或者半角的空格,代码读取的时候会把空格的数据页读作一行或者一列。不能有未规定的字符出现。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值