如何在Unity2019读取Excel文件
今天产品大哥还是强烈要求了我给他做的工具,要支持导出.xlsx文件。在我百度,Google后终于。。。编辑器,打包exe都可以。
写在前面,感谢前辈
最后一次看的文章
https://blog.k-res.net/archives/2643.html
改用ExcelDataReader看的文章
https://blog.csdn.net/zouxin_88/article/details/110853923
找dll看的文章
https://blog.csdn.net/luoyikun/article/details/81012065
copy代码的文章
https://www.cnblogs.com/xiaoyulong/p/11026079.html
设置导出.xlsx样式的文章
https://blog.csdn.net/qq_25040441/article/details/79396459
正文:如何使用Unity2019读取和生成.xlsx文件
一共需要三类DLL文件
1.多语言支持的 I18N.dll文件(导出exe需要)
在unity的安装目录下
“C:\Program Files\Unity\Hub\Editor\2019.4.12f1\Editor\Data\MonoBleedingEdge\lib\mono\unityjit”
2019之前的版本在
“C:\Program Files\Unity\Hub\Editor\2018.4.35f1\Editor\Data\Mono\lib\mono\unity”
2.读取.xlsx文件EPPlus.dll文件
3.生成.xlsx文件ExcelDataReader.dll文件
链接:https://pan.baidu.com/s/1_IGbvpkDKEJA2D1jR4tF2A
提取码:yatp
所有dll文件放到Assets\Plguins下面
还有把PlayerSettings里的.NET 2.0改成了4.x,这个好像和导出不能用有关。
开始写代码
反正都是抄的,就不贴代码了。嘻嘻嘻
参照最上面的博客
虽然这个博客用的dll不一样,但是方法名都是一样的,using 变了
using ExcelDataReader;
// using Excel;
我吐了,今天想把代码改通用一点,然后。。。去百度二维数组遍历(本人记性不好,总忘了获取二维数组长度怎么获取),百度出来的前三个文章都是啥啥啥啊!!!烦死了,我还注册了一个账号给他了一个友好的评论。
贴一个写的代码
public class ExcelUtility
{
public static void Write(string path, string sheetName, string[,] sheetData)
{
FileInfo fileInfo = new FileInfo(path);
using (ExcelPackage package = new ExcelPackage(fileInfo))
{
ExcelWorksheet worksheet = package.Workbook.Worksheets[sheetName];
if (worksheet == null)
{
worksheet = package.Workbook.Worksheets.Add(sheetName);
}
for (int i = 0; i < sheetData.GetLength(0); i++)
{
for (int j = 0; j < sheetData.GetLength(1); j++)
{
worksheet.Cells[i + 1, j + 1].Value = sheetData[i, j];
worksheet.Cells[i + 1, j + 1].Style.Font.Name = "宋体";
}
}
package.Save();
}
}
}
写在最后面
百度,Google了好多文章,奋战了一下午才成功。然后想着不记录一下,有点对不起我自己
我的第一篇博客,竟然这么短,罪过啊