当前位置 博文首页 > unity工具人的博客:unity 使用EPPlus对Excel的创建、写入、读取

    unity工具人的博客:unity 使用EPPlus对Excel的创建、写入、读取

    作者:[db:作者] 时间:2021-07-20 09:35

    EPPlus插件下载地址:
    链接:https://pan.baidu.com/s/11Ye8EhEBpgwZD-7YIUVajA
    提取码:ivlm

    本案例使用unity版本:unity5.6.1f1
    编程工具:VS2015

    下载插件后解压,将文件夹复制到项目工程文件中Plugins文件夹中。

    在这里插入图片描述

    新建脚本命名为:ExcelOperate,并将脚本挂在到场景摄像机上,打开脚本文件。
    引入插件及文件操作常用命名空间:
    using OfficeOpenXml;
    using System.IO;

    创建及写入Excel的方法

    void CreateExcel()
        {      
            string outPutDir = Application.dataPath+ "\\"  + "MyExcel.xls";
            FileInfo newFile = new FileInfo(outPutDir);
            if ( newFile.Exists )
            {
                newFile.Delete();  // ensures we create a new workbook   
                Debug.Log("删除表");
                newFile = new FileInfo(outPutDir);         
            }
            using ( ExcelPackage package = new ExcelPackage(newFile) )
            {
                ExcelWorksheet worksheet = package.Workbook.Worksheets.Add("我的Excel");
                worksheet.Cells[1, 1].Value = "序号";
                worksheet.Cells[1, 2].Value = "姓名";
                worksheet.Cells[1, 3].Value = "电话";            
                package.Save();
                Debug.Log("导出Excel成功");         
            }
        }
    

    将 CreateExcel()方法中Start()方法中调用,运行场景后在Assets文件夹下创建了名为MyExcel的Excel文件,在控制台打印出“导出Excel成功”。如图
    在这里插入图片描述
    创建Excel文件成功!
    在这里插入图片描述
    读取Excel的方法

     void ReadExcel() {
            string outPutDir = Application.dataPath + "\\" + "MyExcel.xls";
            using ( ExcelPackage package = new ExcelPackage(new FileStream(outPutDir, FileMode.Open)) )
            {
                for ( int i = 1; i <= package.Workbook.Worksheets.Count; ++i )
                {
                    ExcelWorksheet sheet = package.Workbook.Worksheets[i];
                    for ( int j = sheet.Dimension.Start.Column, k = sheet.Dimension.End.Column; j <= k; j++ )
                    {
                        for ( int m = sheet.Dimension.Start.Row, n = sheet.Dimension.End.Row; m <= n; m++ )
                        {
                            string str = sheet.GetValue(m, j).ToString();                   
                            if ( str != null )
                            {
                                // do something
                                Debug.Log(str);
                            }
                        }
                    }
                }
            }
        }
    

    使用Start()方法调用 ReadExcel()方法。因为已经创建了MyExcel,可以暂时将CreateExcel()注释掉。运行程序,在控制台中打印出从MyExcel中的读取的数据。
    在这里插入图片描述

    cs
    下一篇:没有了