当前位置: 首页 > news >正文

Unity 导出Excel表格

一、C#创建并导出Excel表格

1.首先,需要导入EPPlus.dll;(我这里用的是Unity 2017.3.0f3)

https://download.csdn.net/download/qq_41603955/90670669

2.代码如下:

using UnityEngine;
using UnityEditor;
using System.IO;
using OfficeOpenXml;public class ExcelTools : MonoBehaviour {[MenuItem("Excel操作/导出Excel表格")]static void 创建并导出Excel表格(){// 获取桌面路径string desktopPath = System.Environment.GetFolderPath(System.Environment.SpecialFolder.DesktopDirectory);string path = Path.Combine(desktopPath, "公司信息表.xlsx");FileStream fs = new FileStream(path, FileMode.Create);using (var package = new ExcelPackage(fs)){ExcelWorksheet worksheet = package.Workbook.Worksheets.Add("表1");worksheet.Cells[1, 1].Value = "公司名称";worksheet.Cells[1, 2].Value = "公司地址";worksheet = package.Workbook.Worksheets.Add("表2");worksheet.Cells[1, 1].Value = "员工姓名";worksheet.Cells[1, 2].Value = "员工薪资";package.Save();}fs.Close();AssetDatabase.Refresh();}
}

如此,就可以把Excel表格导出到电脑桌面上了。

1.该程序无需启动Unity编辑器;
2.在点击“Excel操作”→"导出Excel表格"之前,请务必先关闭Excel表格,否则会报错。

二、从Mysql数据表中读取并导出Excel表格

1.导入Mysql.Data.dll和System.Data.dll;

2.看一下我的mygamedb数据表users:

3.代码如下:

using System.Data;
using System.IO;
using UnityEngine;
using MySql.Data.MySqlClient;
using OfficeOpenXml;
using UnityEditor;
using System;public class ExcelManager : MonoBehaviour
{[MenuItem("Excel操作/导出Excel表格")]static void ExportToExcel(){// 获取桌面路径string desktopPath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);string filePath = Path.Combine(desktopPath, "用户数据表.xlsx");FileInfo fileInfo = new FileInfo(filePath);try{// 检查文件是否存在,如果存在则尝试删除if (fileInfo.Exists){fileInfo.Delete();}}catch (IOException ex){Console.WriteLine("删除文件时出现错误: " + ex.Message);// 可以选择在这里进行其他处理,如记录日志等return;}using (ExcelPackage excelPackage = new ExcelPackage(fileInfo)){ExcelWorksheet worksheet = excelPackage.Workbook.Worksheets.Add("用户表");// 设置标题worksheet.Cells["A1"].Value = "序号";worksheet.Cells["B1"].Value = "用户名";worksheet.Cells["C1"].Value = "密码";worksheet.Cells["D1"].Value = "注册日期";string connectionStr = "server=localhost;port=3306;database=mygamedb;user=root;password=123456;";// 获取数据库中的数据MySqlConnection conn = new MySqlConnection(connectionStr);conn.Open();DataTable dataTable = new DataTable();using (MySqlDataAdapter adapter = new MySqlDataAdapter("SELECT * FROM users", conn)){adapter.Fill(dataTable);}conn.Close();// 填充数据for (int i = 0; i < dataTable.Rows.Count; i++){worksheet.Cells[i + 2, 1].Value = dataTable.Rows[i]["id"];worksheet.Cells[i + 2, 2].Value = dataTable.Rows[i]["username"];worksheet.Cells[i + 2, 3].Value = dataTable.Rows[i]["password"];worksheet.Cells[i + 2, 4].Value = dataTable.Rows[i]["registerdate"];// 设置日期格式,包含时分秒worksheet.Cells[i + 2, 4].Style.Numberformat.Format = "yyyy-MM-dd HH:mm:ss";}// 设置 D 列(索引为 4,从 1 开始计数)宽度,确保能完整显示日期时间worksheet.Column(4).Width = 20;// 保存文件excelPackage.Save();}}
}

相关文章:

  • [特殊字符]fsutil命令用法详解
  • pcp补丁升级手顺
  • (8)ECMAScript语法详解
  • 入门-C编程基础部分:17、typedef
  • 创建redis-cluster集群
  • 提交到Gitee仓库
  • 火语言RPA--Ftp删除目录
  • react使用01
  • 【浙江大学DeepSeek公开课】回望AI三大主义与加强通识教育
  • 【时时三省】(C语言基础)改变循环执行的状态
  • 大数据开发的基本流程
  • 基于DeepSeek的网络爬虫技术创新与实践应用
  • 真实趋势策略思路
  • 为AI应用打造精准度指标
  • 美团外卖霸王餐接口该如何对接?
  • 39.剖析无处不在的数据结构
  • AI预测3D新模型百十个定位预测+胆码预测+去和尾2025年4月22日第60弹
  • [Java · 铢积寸累] 数据结构 — 数组类型 - 增 删 改 查
  • 进阶篇 第 2 篇:自相关性深度解析 - ACF 与 PACF 图完全指南
  • ProxySQL 性能调优工具推荐
  • 特朗普激发加拿大爱国热情:大选提前投票人数创纪录,魁北克分离情绪被冲淡
  • 乌克兰关切有中国公司帮助俄罗斯制造军事硬件,外交部:坚决反对无端指责
  • AI时代的阅读——当今时代呼唤文学的思想实验和人文认知
  • 世界地球日丨上海交响乐团牵手上海植物园,为“树”写交响曲
  • 一季度提高两只医药基金股票仓位,中欧基金葛兰加仓科伦药业、百利天恒
  • 上海与丰田汽车签署战略合作协议,丰田独资设立的雷克萨斯项目正式落地