Unity 创建、读取、改写Excel表格数据

1.导入EPPlus.dll、Excel.dll、Mysql.Data.dll、System.Data.dll;(我这里用的是:Unity2017.3.0)

2.代码如下:

cs 复制代码
using System.Data;
using System.IO;
using UnityEngine;
using OfficeOpenXml;
using UnityEditor;
using Excel;

public class ExcelManager : MonoBehaviour
{
    #region 创建Excel表格
    [MenuItem("Excel操作/创建Excel表格")]
    static void 创建Excel表格()
    {
        string _filePath = Application.streamingAssetsPath + "/学生信息.xlsx";
        string _sheetName = "详情";

        FileInfo _excelName = new FileInfo(_filePath);
        if (_excelName.Exists)
        {
            //删除旧文件,并创建一个新的 excel 文件。
            _excelName.Delete();
            _excelName = new FileInfo(_filePath);
        }

        //通过ExcelPackage打开文件
        using (ExcelPackage package = new ExcelPackage(_excelName))
        {
            //在 excel 空文件添加新 sheet,并设置名称。
            ExcelWorksheet worksheet = package.Workbook.Worksheets.Add(_sheetName);

            //添加列名
            worksheet.Cells[1, 1].Value = "学号";
            worksheet.Cells[1, 2].Value = "姓名";
            worksheet.Cells[1, 3].Value = "性别";

            //添加一行数据
            worksheet.Cells[2, 1].Value = 100001;
            worksheet.Cells[2, 2].Value = "张三";
            worksheet.Cells[2, 3].Value = "男";

            //添加一行数据
            worksheet.Cells[3, 1].Value = 100002;
            worksheet.Cells[3, 2].Value = "李四";
            worksheet.Cells[3, 3].Value = "女";

            //添加一行数据
            worksheet.Cells[4, 1].Value = 120033;
            worksheet.Cells[4, 2].Value = "Saw";
            worksheet.Cells[4, 3].Value = "男";

            //保存excel
            package.Save();
        }
    }
    #endregion


    #region 读取Excel表格
    [MenuItem("Excel操作/读取Excel表格")]
    static void 读取Excel表格()
    {
        DataRowCollection _dataRowCollection = ReadExcel(Application.streamingAssetsPath + "/学生信息.xlsx");
        for (int i = 0; i < _dataRowCollection.Count; i++)
        {
            Debug.Log(_dataRowCollection[i][0] + " " + _dataRowCollection[i][1] + " " + _dataRowCollection[i][2]);
        }
    }

    //通过表的索引,返回一个DataRowCollection表数据对象
    static DataRowCollection ReadExcel(string _path, int _sheetIndex = 0)
    {
        FileStream stream = File.Open(_path, FileMode.Open, FileAccess.Read, FileShare.Read);
        IExcelDataReader excelReader = ExcelReaderFactory.CreateOpenXmlReader(stream);
        DataSet result = excelReader.AsDataSet();
        return result.Tables[_sheetIndex].Rows;
    }

    //通过表的名字,返回一个DataRowCollection表数据对象
    private DataRowCollection ReadExcel(string _path, string _sheetName)
    {
        FileStream stream = File.Open(_path, FileMode.Open, FileAccess.Read, FileShare.Read);
        IExcelDataReader excelReader = ExcelReaderFactory.CreateOpenXmlReader(stream);
        DataSet result = excelReader.AsDataSet();
        return result.Tables[_sheetName].Rows;
    }
    #endregion


    #region 改写Excel表格
    [MenuItem("Excel操作/改写Excel表格")]
    static void 改写Excel表格()
    {
        string path = Application.streamingAssetsPath + "/学生信息.xlsx";
        FileInfo _excelName = new FileInfo(path);
        using (ExcelPackage package = new ExcelPackage(_excelName))
        {
            ExcelWorksheet worksheet = package.Workbook.Worksheets["详情"];
            //修改某一行的数据
            worksheet.Cells[4, 3].Value = "人妖";
            //保存excel
            package.Save();
        }
    }
    #endregion
}

dll资源文件夹:https://download.csdn.net/download/qq_41603955/90677810

相关推荐
观远数据17 小时前
Excel到数据资产池:文件数据入湖的治理规范怎么建
前端·javascript·excel
旧物有情18 小时前
游戏开发常用架构 #MVP,MVC
游戏·unity·架构·mvc
蓝创工坊Blue Foundry20 小时前
PDF 批量提取指定内容到 Excel:按字段整理多个 PDF 的方法
pdf·ocr·excel·文心一言·paddlepaddle·paddle
勇踏前人未索之境20 小时前
Unity打包运行于鸿蒙手机
unity·智能手机·harmonyos
玖玥拾21 小时前
Unity 3D 笔记(十一)UI 框架进阶:栈弹窗交互、BasePanel 基类虚方法、DoTween 界面动画
笔记·3d·unity
用户298698530141 天前
React 项目中灵活管理 Excel 工作表:增删与移动
javascript·react.js·excel
郝学胜-神的一滴1 天前
中级OpenGL教程 023:Assimp模型加载全解——从源码到架构的骈文探秘
c++·unity·游戏引擎·cmake·unreal engine·opengl
xcLeigh2 天前
Unity基础:GameObject与Component——Unity核心架构思想彻底理解
unity·教程·component·gameobject
程序猿乐锅2 天前
【苍穹外卖 Day12| Excel 入门】
excel
郝学胜-神的一滴2 天前
中级OpenGL教程 022:探秘三维世界的血脉传承——物体父子关系与矩阵递归奥义
c++·线性代数·unity·矩阵·游戏引擎·unreal engine·opengl