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);
     }
 }

结尾:

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

相关推荐
yi碗汤园7 小时前
MQTT消息队列遥测传输协议
网络·网络协议·unity
林川~0111 小时前
Unity 常用 API 与核心类全解:从生命周期到协程,附性能避坑清单(Unity 6 适配)
unity·游戏引擎·常用api
sensen_kiss13 小时前
CPT306 Coursework 1 个人游戏作业——坦克大战
unity·游戏程序·游戏策划
蒸鱼Yuzheng13 小时前
Unity 与 Unreal 测试工具怎么回答:Profiler、日志、自动化与证据链
测试工具·unity·性能分析·游戏测试·unrealengine
野区捕龙为宠14 小时前
Unity WebGL平台 通过 URL 加载图片(UGUI RawImage / 模型材质)
unity·团结引擎
阿松爱学习2 天前
【Unity开发】FileStream 详解及用法指南
unity·c#·unity开发
想做后端的前端2 天前
Unity-UIGI优化Rebatch与Rebuild
unity
玖玥拾2 天前
Unity Shader 基础与图形学(一)
unity·图形渲染·图形学·shader
E-iceblue2 天前
Excel 列转行/行列转换全指南:从 4 种常见解法到 Python 批量自动化
python·excel·python库·spire.xls
百里香酚兰2 天前
【Unity学习笔记】如何把粉色Prefab还原
笔记·学习·unity