Unity/C#使用EPPlus读取和写入Excel

简介:本篇使用EPPlus来将数据写入Excel,如果需要使用NPOI那可以阅读我之前文档使用NPOI创建及写入数据_npoi 模板 写数据-CSDN博客

一、安装EPPlus

这里使用 .unitypackage 文件形式安装

1.1下载NuGetForUnity.unitypackage

github进行搜索下载

下载后拖入Unity项目

二、配置EPPlus

2.1打开菜单NuGet->Manage NuGet Packages

2.2搜索EPPlus并下载

三、Unity写入Excel

3.1创建Excel.xlsx

创建streamingAssets文件夹并且拖入一个示例

3.2编写脚本

cs 复制代码
using System.IO;
using UnityEngine;
using OfficeOpenXml;
public class ExcelTwo : MonoBehaviour
{
    void Start()
    {
        CreateExcel();
    }
    private void CreateExcel()
    {
        string path = Application.streamingAssetsPath + "/" + "test.xlsx";//读取文件
        FileInfo newFile = new FileInfo(path);//创建新的Excel文件
        if (newFile.Exists)
        {
            newFile.Delete();
            newFile = new FileInfo(path);//创建新的Excel文件
        }
        ExcelPackage package = new ExcelPackage(newFile);
        ExcelWorksheet worksheet = package.Workbook.Worksheets.Add("测试示例");//创建工作簿
        worksheet.Row(1).Height = 40;//设置行高
        worksheet.Cells[1, 1].Value = "Hello";//内容
        package.Save();//保存
    }
}

四、Unity读取Excel

4.1编写脚本

cs 复制代码
 private void ReadExcel()
 {
     string path2 = Application.streamingAssetsPath + "/" + "test.xlsx"; // 设置 Excel 文件的路径
     Debug.Log("Excel 文件路径: " + path2);
     // 确保文件存在
     if (File.Exists(path2))
     {
         // 创建 ExcelPackage 实例
         using (ExcelPackage package2 = new ExcelPackage(new FileInfo(path2)))
         {
             // 获取第一个工作表
             ExcelWorksheet worksheet = package2.Workbook.Worksheets[0];
             // 获取第二个工作表
             ExcelWorksheet worksheet1 = package2.Workbook.Worksheets[1];
             // 读取第一个工作表单元格 A1 的值
             string cellValue = worksheet.Cells[1, 1].Value.ToString();
             // 读取第二个工作表单元格 A1 的值
             string cellValue1 = worksheet1.Cells[1, 1].Value.ToString();
             Debug.Log("单元格 A1 的值: " + cellValue);
             Debug.Log("单元格 A1 的值: " + cellValue1);
         }
     }
     else
     {
         Debug.LogError("找不到 Excel 文件: " + path2);
     }
 }

结尾:

有任何错误请指出,补充请评论,看到会第一时间回复,谢谢。

相关推荐
taller_20002 小时前
【012】数据类型入门: Excel 数据到 Python 值的转换
python·excel·pie·py
暴走约伯3 小时前
【VFX工具链源码拆解 02】告别机械劳动(上):一键统改百个子粒子颜色与批量重命名
3d·unity·c#·材质
郝学胜-神的一滴4 小时前
游戏设计:原型与开发 18:Unity入门的第一课
人工智能·程序人生·游戏·ui·unity·游戏引擎
淡海水6 小时前
09-01-内存-Unity资源生命周期全景
unity·c#·游戏引擎·.netcore·gc
LF男男10 小时前
Flower Defense—UIFacade
unity
呆呆敲代码的小Y10 小时前
【实战精选面试题】Unity精选面试题详细解答,按模块整理汇总
人工智能·游戏·unity·游戏引擎
小贺儿开发20 小时前
《流光绘忆》Unity 沉浸式光影互动
科技·unity·ai·程序员·工具·互动·光影
Aman19841 天前
Claude Code做Unity项目移植(一):从零散工具到团队式
unity·游戏开发·vibe coding·claude code·项目迁移
地狱为王1 天前
Unity使用VoxLock实现语音隔离
unity·游戏引擎·音频处理·voxlock
Jmyd01231 天前
博物馆数字展厅系统架构设计:实景采集到云渲染全链路
unity·系统架构·博物馆·数字展厅·博物馆数字化