您需要 登录 才可以下载或查看,没有账号?注册
x
今天分享一下我自己怎么爬Unity导出exe读取Excel文件失败的巨坑。 【问题描述】 在工程里边Plugins只包含了SharpZipLib的dll文件,但测试结果是能读取到Excel文件里的数据的,并可以将其输出到unity的UI里边。
但是打包成exe后发现数据不更新了。 因此创建了2个text用于输出后显示一些数据信息。
并在工程里面测试,可以显示出数据来。
输出后打开exe查验结果,发现依然不行。
第一个text还能打印出excel的地址来,但是第二个text根本就没有数据更新。 这里猜想就是有代码报错,直接导致接下去的代码没有再执行。但是在工程里边是可以正常运作的。 所以最可能的事情就是excel读取失败了。于是我上网查找“unity输出exe后excel读取的坑”,果然被我找到了有关的资料。
【资料来源】 这个问题的处理来源于CSDN某博客的博文。非常感谢!
1、基于office版本不同,office2003-2007和2007以上有两种不同的读取办法,网上可自查具体逻辑代码
2、缺少18*.dll...文件。将安装包下的文件,拷贝到工程plugin文件夹下重新发布,或者直接拷贝到发布文件**_data的 Managed文件夹下
【处理过程】 首先找到unity的安装目录
我用的是Unity2019.4.9f1这里居然没有博文中说的Mono目录,看着MonoBleedingEdge也带Mono,于是就打开他
还真有几个挺像的,那就他们吧。我将他们考到工程里的Plugins目录,然后发布exe。 满心期待的我以为好了,结果大失所望,依然没有效果。 会不会是要打包后再靠过去呢,所以我又将所有的I18N拷过去应用目录的Plugins。
结果大失所望,依然没有读取到Excel的数据。 无奈之下只能上网继续寻找方法。 幸运的是,找到了这么一句话:
打开unity2018版,发现Data目录里终于又Mono这个目录了。
将这些文件考到工程里边的Plugins目录重新输出即能正常显示。
|