在Unity中使用EPPlus库NPOI库写入Excel数据

这篇具有很好参考价值的文章主要介绍了在Unity中使用EPPlus库NPOI库写入Excel数据。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Unity版本: 2021.3.25f1

1.EPPlus库:
a.引用EPPlus库:首先,需要在Unity项目中引用EPPlus库。可以通过从官方网站(https://epplussoftware.com/)下载EPPlus库的最新版本,并将其添加到Unity项目中。
b.创建Excel数据:在Unity中,使用C#脚本来创建Excel数据。在示例代码中,创建了一个名为MemoryStreamExample的MonoBehaviour类来处理Excel数据。在CreateExcelData方法中,使用EPPlus库创建一个Excel包,并向其中添加一个工作表。然后,使用嵌套的循环将数据写入工作表的单元格中。
c.保存Excel数据到内存流:EPPlus库提供了将Excel数据保存到内存流的功能。在示例代码的CreateExcelData方法中,使用MemoryStream来保存Excel数据。将Excel包保存到MemoryStream,然后使用ToArray方法将MemoryStream转换为字节数组。
d.保存Excel数据到本地:在示例代码的SaveExcelToFile方法中,使用File.WriteAllBytes方法将Excel数据的字节数组写入到本地文件。提供文件路径作为参数,以便将数据保存到指定位置。

优点
灵活性:EPPlus库提供了丰富的功能和灵活的API,可以满足各种Excel数据处理需求。
性能:EPPlus库具有优化的性能,特别适用于处理大量数据。使用EPPlus库的内存流功能可以避免磁盘I/O操作,提高性能。
跨平台支持:EPPlus库是基于.NET标准的,因此可以在Unity等多个平台上使用。
开源和免费:EPPlus库是开源的,可以免费使用和修改。

using OfficeOpenXml;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using UnityEngine;
public class MemoryStreamExample : MonoBehaviour
{
    byte[] steamByt;
    void Start()
    {
        steamByt = CreateExcelData();
        SaveExcelToFile(steamByt, Application.streamingAssetsPath + "/test.xlsx");
    }
    public byte[] CreateExcelData()
    {
        using (ExcelPackage package = new ExcelPackage())
        {
            ExcelWorksheet worksheet = package.Workbook.Worksheets.Add("Sheet1");// 写入数据
            for (int row = 1; row <= 1000; row++)
            {
                for (int column = 1; column <= 1000; column++)
                {
                    worksheet.Cells[row, column].Value = "Data"; // 写入数据到单元格
                }
            }
            // 保存Excel数据到内存流
            using (MemoryStream memoryStream = new MemoryStream())
            {
                package.SaveAs(memoryStream);// 转换为字节数组
                byte[] excelData = memoryStream.ToArray();
                return excelData;
            }
        }
    }
    public void SaveExcelToFile(byte[] excelData, string filePath)
    {
        File.WriteAllBytes(filePath, excelData);
    }
}

在Start方法中,调用CreateExcelData方法创建Excel数据,并将返回的字节数组保存到steamByt变量中。然后,调用SaveExcelToFile方法将字节数组保存到本地文件。

2.NPOI库
a.引用NPOI库:首先,需要在Unity项目中引用NPOI库。可以通过从NPOI的GitHub仓库(https://github.com/nissl-lab/npoi)下载最新版本的NPOI库,并将其添加到Unity项目中。
b.创建Excel数据:在Unity中,使用C#脚本来创建Excel数据。在示例代码中,创建了一个名为MemoryStreamExample的MonoBehaviour类来处理Excel数据。在CreateExcelData方法中,使用NPOI库创建一个工作簿(Workbook)和一个工作表(Sheet)。然后,使用嵌套的循环将数据写入工作表的单元格中。
c.保存Excel数据到内存流:NPOI库提供了将Excel数据保存到内存流的功能。在示例代码的CreateExcelData方法中,使用MemoryStream来保存Excel数据。将工作簿写入到MemoryStream,然后使用ToArray方法将MemoryStream转换为字节数组。
d.保存Excel数据到本地:在示例代码的SaveExcelToFile方法中,使用File.WriteAllBytes方法将Excel数据的字节数组写入到本地文件。提供文件路径作为参数,以便将数据保存到指定位置。

优点
灵活性:NPOI库提供了丰富的功能和灵活的API,可以满足各种Excel数据处理需求。
跨平台支持:NPOI库是基于.NET标准的,因此可以在Unity等多个平台上使用。
开源和免费:NPOI库是开源的,可以免费使用和修改。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;
using System.IO;
public class MemoryStreamExample : MonoBehaviour
{
    byte[] excelData;
    void Start()
    {
        excelData = CreateExcelData();
        SaveExcelToFile(excelData, Application.streamingAssetsPath + "/test.xlsx");
    }
    public byte[] CreateExcelData()
    {
        IWorkbook workbook = new XSSFWorkbook();
        ISheet sheet = workbook.CreateSheet("Sheet1");// 写入数据
        for (int row = 0; row < 1000; row++)
        {
            IRow excelRow = sheet.CreateRow(row);
            for (int column = 0; column < 1000; column++)
            {
                ICell cell = excelRow.CreateCell(column);
                cell.SetCellValue("Data");
            }
        }
        // 保存Excel数据到内存流
        using (MemoryStream memoryStream = new MemoryStream())
        {
            workbook.Write(memoryStream);
            byte[] excelData = memoryStream.ToArray();
            return excelData;
        }
    }
    public void SaveExcelToFile(byte[] excelData, string filePath)
    {
        File.WriteAllBytes(filePath, excelData);
    }
}

在保存的时候还是会有卡顿,需要等等就可以看到生成的文档了.文章来源地址https://www.toymoban.com/news/detail-803660.html

到了这里,关于在Unity中使用EPPlus库NPOI库写入Excel数据的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 使用NPOI修改Excel数据

    需求:格式为exp的文件,具有json结构,替换掉其中某些数据 解决方法:读取excel,用npoi读取指定内容,在exp中找到特定结构,然后替换 读取其他格式的文件也是用此方法

    2024年02月08日
    浏览(40)
  • Unity3D操作数据之Excel表操作(创建、读取、写入、修改)

    叨唠两句: 首先使用Excel需要 导入插件 ,其次在 程序运行 期间不要打开对应的Excel文件 其次相对于一些程序使用Excel比使用数据库更具有优势 读取主要使用 Epplus 插件,后续会推出关于Epplus的 AP I讲解 读取Excel文件,需要导入一些dll文件,才能进行操作Excel数据: 如果打包

    2024年02月05日
    浏览(76)
  • 使用NPOI做Excel简单报表

    前言 前面介绍了NPOI单元格样式的使用、单元格合并,以及NPOI提供的颜色。现在用上前面的一些知识点,做一个测试结果表格。 1、 介绍NPOI 的颜色卡、名称以及索引 https://editor.csdn.net/md/?articleId=130265415 2、 NPOI的CellStyle单元格样式 https://editor.csdn.net/md/?articleId=130245869 3、 将

    2023年04月22日
    浏览(43)
  • C# 使用NPOI操作EXCEL

    1.添加NOPI         引用-管理NuGet程序包-添加NOPI 2.相关程序集 3.添加命名空间 4.从Excel导入的dgv样例 5.从dgv导入到Excel

    2024年02月11日
    浏览(57)
  • 使用 Python 数据写入 Excel 工作表

    在数据处理和报告生成等工作中,Excel 表格是一种常见且广泛使用的工具。然而,手动将大量数据输入到 Excel 表格中既费时又容易出错。为了提高效率并减少错误,使用 Python 编程语言来自动化数据写入 Excel 表格是一个明智的选择。Python 作为一种简单易学且功能强大的编程

    2024年01月18日
    浏览(34)
  • 如何使用Python给Excel写入数据

    openpyxl三步走 获取work book 获取 work sheet 再然后 获取单元格 进行操作 保存文件 安装OpenpyXl 导包方式以下两种都可以 from openpyxl import Workbook from openpyxl import load_workbook 向工作表中写入数据 保存至文件 最保险的保存方式是调用 save 方法保存到指定文件: 结果如下: 向工作表中

    2024年02月14日
    浏览(39)
  • 使用Python写入数据到Excel:实战指南

    在数据科学领域,Excel是一种广泛使用的电子表格工具,可以方便地进行数据管理和分析。然而,当数据规模较大或需要自动化处理时,手动操作Excel可能会变得繁琐。此时,使用Python编写程序将数据写入Excel文件是一个高效且便捷的选择。本文将介绍如何使用Python将数据写入

    2024年02月11日
    浏览(46)
  • 使用 Python 将数据写入 Excel 工作表

    在数据处理和报告生成等工作中,Excel 表格是一种常见且广泛使用的工具。然而,手动将大量数据输入到 Excel 表格中既费时又容易出错。为了提高效率并减少错误,使用 Python 编程语言来自动化数据写入 Excel 表格是一个明智的选择。Python 作为一种简单易学且功能强大的编程

    2024年02月01日
    浏览(42)
  • .NET Core6.0使用NPOI导入导出Excel

    一、使用NPOI导出Excel //引入NPOI包 HTML JS C# 二、使用NPOI导入Excel HTML JS C# 控制器代码 添加ExcelHelper类 添加Extensions类 添加实体类UserEntity,要跟Excel的列名一致 Excel模板 实现效果

    2024年02月12日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包