C#中Excel文件转换为SQLite文件并在Unity3D中读取遇到的一些坑
公司有这个需求,学习了一下。用的是C#。不过好像直接有软件可以做到,恶寒……只是单纯抱着学习的心态做的这东西。
机子是新装的,很多东西都没有。
分为三个步骤
一、读取:
http://www.open-open.com/code/view/1420029490093
用的方式二,不过记得不是这篇文章……当时那篇找不着了。
比较麻烦的是下标处理。由于当时没装Excel,出现了很奇怪的错误(忘了是什么错误)。
最后的解决办法是装好Excel后在工程中添加两个COM引用:
Microsoft Excel 15.0 Object Library
Microsoft Office15.0 Object Library
二、转换为SQLite的db文件:
当时参考的是这里的文章
http://www.oschina.net/code/snippet_1169053_38296
由于是新机子,没有SQLite。下载页面在http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki
除了系统位数,版本号之外,还有一个比较重要的区别是下载的文件有bundle与binary之分。这个坑了我好久,这个就赘述了,有需要的朋友自行搜索吧。
三、在U3D中读取db文件:
http://www.xuanyusong.com/archives/831
这篇文章写的比较详细了。
http://blog.csdn.net/luxiaoyu_sdc/article/details/20376233
这篇文章可以避免坑。
dll文件一定要放到Plugins文件夹下,然后在C#中对其进行引用。
在我的经历中,Mono.Data.Sqlite.dll和sqlite3.dll是要放到Plugins里的。当然我还放了一个System.Data.dll,不知是否是必要的。
四、在Android中使用:
http://forum.unity3d.com/threads/unity-3d-android-sqlite-examples.114660/
参考的是这篇文章。因为Android中资源Unity的资源存储和Windows中不一样。(具体如何还在学习中)
需要将DB文件放入Assets/StreamingAssets中。
并再在三的基础上,于Plugins/Android中添加libsqlite.so文件。
附资源读取方式:
转自http://game.ceeger.com/forum/read.php?tid=12101
Android:在Assets中新建一个StreamingAssets文件夹,将要打包的各种资源文件放到该目录下面就可以了。这样资源就被打包进Apk包里面的Assets文件夹里面了。这里面的资源通过什么目录访问呢,其实也挺简单
"jar:file://" + Application.dataPath + "!/assets" 就是访问该目录的路径
如果是在IOS平台,路径则是 Application.dataPath +"/Raw",这里面一定要注意文件路径大小写,这里面是区分大小写的,如果不注意这个问题,可能就会资源加载不了的问题。所以项目的命名规范一开始就
要做好。
posted on 2015-11-05 16:01 Lucky_hugh 阅读(1442) 评论(0) 收藏 举报
浙公网安备 33010602011771号