Unity3D组件 | Excel导出

Unity3D导出Excel表格

前言

这篇文章实现的是根据一个Excel模板让软件自动导出表格。
本次使用EPPlus.dll这个动态链接库,这个库中有OfficeOpenXml类库,使用其中函数即可实现从Unity3D中调用Excel。

代码部分

using OfficeOpenXml;//添加这两个类库
using OfficeOpenXml.Style;


public void Set_Up_Report(DateTime dt, DateTime dt1)
    {
        //输出的文件名称
        string Time = dt.GetDateTimeFormats('s')[0].ToString() + "至" + dt1.GetDateTimeFormats('s')[0].ToString();//导出区间的时间段定义
        Two_Path = "D:/E_Report" + "/" + Char_ + Regex.Replace(Regex.Replace(Time, @"\s", ""), ":", "-") + ".xlsx";//这个定义保存地址
        FileInfo fileInfo = new FileInfo(Eg_Two_Path);//对模板地址初始化
        FileInfo fileInfo_1 = new FileInfo(Two_Path);//对保存地址初始化
        try
        {
            using (ExcelPackage excelPackage_Eg = new ExcelPackage(fileInfo))//打开Excel模板文件
            {
                excelPackage_Eg.SaveAs(fileInfo_1);//另存为
                using (ExcelPackage excelPackage = new ExcelPackage(fileInfo_1))//在打开模板文件的同时打开保存地址的文件
                {
                    ExcelWorksheet worksheet = excelPackage_Eg.Workbook.Worksheets["sheet1"];
                    //这里对Excel表格中打开一个新表,在以上的初始化是一个空白的表格文件所以需要添加一个新表
                    worksheet.Cells[2, 9].Value = DateTime.Now.GetDateTimeFormats('D')[0].ToString();
                    worksheet.Cells[3, 3].Value = dt.GetDateTimeFormats('F')[0].ToString();
                    worksheet.Cells[3, 8].Value = dt1.GetDateTimeFormats('F')[0].ToString();
                    //以上时添入数值的例子,worksheet.Cells[i, j].Value(其中i为行,j为列)。

                    worksheet.Protection.IsProtected = true;//设置是否进行锁定
                    worksheet.Protection.SetPassword(Excel_Password.text);//设置密码
                    worksheet.Protection.AllowAutoFilter = false;//下面是一些锁定时权限的设置
                    worksheet.Protection.AllowDeleteColumns = false;
                    worksheet.Protection.AllowDeleteRows = false;
                    worksheet.Protection.AllowEditScenarios = false;
                    worksheet.Protection.AllowEditObject = false;
                    worksheet.Protection.AllowFormatCells = false;
                    worksheet.Protection.AllowFormatColumns = false;
                    worksheet.Protection.AllowFormatRows = false;
                    worksheet.Protection.AllowInsertColumns = false;
                    worksheet.Protection.AllowInsertHyperlinks = false;
                    worksheet.Protection.AllowInsertRows = false;
                    worksheet.Protection.AllowPivotTables = false;
                    worksheet.Protection.AllowSelectLockedCells = false;
                    worksheet.Protection.AllowSelectUnlockedCells = false;
                    worksheet.Protection.AllowSort = false;

                    excelPackage.Save();//注意要先保存导出文件
                }//关闭Excel文件
                excelPackage_Eg.Save();//最后保存模板文件
            }//关闭Excel_Eg文件 
            Debug.Log("已导出");
        }
        catch(Exception ex)
        {
            Debug.Log(ex);
        }
}

结论

本文例举了几个简单的EPPlus库中函数,希望对刚学的朋友们有帮助。
如果在使用EPPlus的时候遇到错误可参照关于UNITY中System.Drawing引用失败的处理方法中。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: Unity3D是一个流行的游戏开发引擎,它可以将游戏素材、场景、代码等资源集成为一个整体,并发布到多个平台上。UGUI是Unity3D的一种图形用户界面系统,它提供了一组可自定义的控件,方便开发者创建交互式的用户界面。 在Unity3D中,开发者可以使用UGUI系统来创建游戏界面,UGUI提供了一系列的控件和布局方式。而对于界面美术设计师来说,他们可能对使用Photoshop(PSD)来进行设计更加熟悉。因此,如果能直接将PSD导出成UGUI界面,将会极大的提高开发效率。 现在,Unity3D提供了可以将PSD直接导出成UGUI的插件,该插件名为“Unity UI Exporter”。该插件可以直接将PSD中的设计元素,如文本、图像、按钮、滑块、滚动条等,转换成UGUI界面控件,并且保留了原有的图层结构和命名规则。开发者只需在Unity3D中打开该插件,并将PSD文件导入即可。该插件可以自动识别PSD文件中的图层并转换成对应的UGUI控件,并可以选择导出PNG资源或将PSD文件作为资源文件使用。 总之,使用Unity UI Exporter插件可以方便快捷地将PSD直接导出成UGUI界面,帮助开发者提高开发效率,减少重复工作。 ### 回答2: Unity3D是一个功能强大的游戏引擎,它可以将PSD文件直接导出成UGUI界面。UGUI是Unity3D的用户界面系统,它提供了一系列功能用于创建2D和3D的用户界面。UGUI界面在游戏中非常重要,它为用户提供了快捷的控制方式和更好的交互体验。 在Unity3D中使用PSD文件创建UGUI界面非常方便。首先,我们需要在Unity3D中导入PSD文件。然后,通过双击导入的PSD文件打开它。在打开的界面中选择需要导出的层和UI元素。接下来,在菜单栏中选择“文件”->“导出”,然后选择“UGUI”作为导出格式。 导出后的UGUI界面可以在Unity3D中进行编辑和调整。我们可以将其添加到游戏场景中,并通过代码和脚本进行交互。UGUI界面的创建和编辑非常简单,即使没有编程经验的人也可以轻松上手。 总之,Unity3D将PSD直接导出成UGUI界面是一种非常有用的功能。它提供了一种简便的方式来创建游戏界面,并帮助开发者更加高效地完成自己的工作。即使没有专业的UI设计人员,开发者在使用Unity3D时也可以轻松创建出美丽的游戏界面。 ### 回答3: Unity3D是一款跨平台的游戏引擎,其支持直接将PSD文件导入到Unity编辑器中,并将其转化为UGUI界面。 在Unity中将PSD文件导入的步骤如下:首先在Unity编辑器中创建新的UI界面,然后将PSD文件拖拽到这个界面中,Unity会自动解析文件并将其转化为UGUI界面。这样可以省去UI制作过程中很多繁琐的操作。同时,Unity还提供了多种美术工具用于增强PSD文件的效果,例如粒子系统、材质编辑器等。 在转化为UGUI界面后,我们可以在编辑器中对其进行进一步的编辑和调整,例如增加按钮、调整字体颜色等。同时,Unity还支持脚本的编写,我们可以在脚本中对UI元素进行操作和控制。 PSD文件直接导出成UGUI界面可以大大提高UI制作效率,同时也增加了可编辑性,让我们在编辑和调整UI时更加方便。然而,在使用这个功能时也需要注意遵循PSD文件的设计原则,避免在转化过程中出现不必要的问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

辰似五味

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值