zoukankan      html  css  js  c++  java
  • Unity3D研究院之在MAC上脚本XlsxWriter写入Excel .xlsx格式

    原地址:http://www.xuanyusong.com/archives/3011

    以前找了很久可以跨平台支持读写Excel的工具,我也试了很多种DLL。可在Windows上各个完美支持,可是在MAC上就各种恶心。为什么一开始我想找DLL呢?因为DLL很方便,因为它可以直接在Unity里面跨平台,现在开发小组里面都有人用MAC有人用Windows。感谢昨天微博好友给我说的一个办法,以前我一直围绕着DLL在研究,却忽略了别的方法,废话不多说,开始正文。

    为什么要生成.XLSX呢?我的初衷是想把代码里面还有Prefab里面的中文提取出来用来做多语言,如果你有兴趣可以看看我的上一篇文章。http://www.xuanyusong.com/archives/2987

    如下图所示,我先在C#代码里面把我需要写入Excel的内容生成出来,其实代码部分因为都是文件级的提取在python里面都可以提取,只是Prefab部分我就不知道怎么在python里搞了。加上我对python也不太懂,目前还在学习python中。考虑到策划可能已经翻译过了一些文字,所以在生成的时候尽量把新产生的中文KEY放在最后,或者生成的时候给它加个颜色来标识一下,而已经翻译过的就不要在生成成新的了。

    Unity3D研究院之在MAC上脚本XlsxWriter写入Excel .xlsx格式(七十六) - 雨松MOMO程序研究院 - 1

    好了不说废话了, 我们用的工具是XLsxWriter https://pypi.python.org/pypi/XlsxWriter 或者在文章的最后你去下载我的工程。我把XlsxWriter放在我的Unity工程里面,如下图所示,examples下面就是它的例子。

    Unity3D研究院之在MAC上脚本XlsxWriter写入Excel .xlsx格式(七十六) - 雨松MOMO程序研究院 - 2

    因为mac自带python所以也不用单独去安装,执行例子就是打开终端。

    python xxxx/examples/demo.py

    当我在直接执行python的时候发现了一个错误。

      File “/Users/MOMO/New Unity Project 15/Assets/Scripts/Editor/XlsxWriter-0.5.6/examples/demo.py”, line 7, in <module>

        import xlsxwriter

    我的解决办法就是把需要执行的python脚本放在与xlsxwriter文件夹同级的目录下,也就是上图中demo的位置。

    然后看看我写的python脚本,因为我以前没用过python所以也不太懂,也就是今天才开始学,目前感觉脚本语言写起来舒服很多了。

    在终端里面执行,参数1就是我用c#生成好的中文文本目录,这样在python里面去提取,最终将excel生成在和他同级目录下。

    如下图所示,最终我的中文已经完完整整的写入excel了。

    Unity3D研究院之在MAC上脚本XlsxWriter写入Excel .xlsx格式(七十六) - 雨松MOMO程序研究院 - 3

    最后是完整的下载地址:http://pan.baidu.com/s/1dD1n7Vj

    另外虽然xlsxwriter也支持读取excel的功能,但是我觉得如果仅仅是读取你最好看我之前文章介绍的这种方法

    http://www.xuanyusong.com/archives/2429 它是完全基于mono的可以直接跨平台,它唯一的缺陷就是不支持写入excel。

  • 相关阅读:
    Java魔法堂:String.format详解
    Postgresql 正则表达式
    Linux下安装LAMP(Apache+PHP+MySql)和禅道
    Redis 启动警告错误解决[转]
    Postgresql: UUID的使用
    在Linux下安装RabbitMQ
    Python的包管理工具Pip
    在Linux CentOS 6.6上安装RedisLive
    [转]在Linux CentOS 6.6上安装Python 2.7.9
    在Linux上rpm安装运行Redis 3.0.4
  • 原文地址:https://www.cnblogs.com/123ing/p/3873092.html
Copyright © 2011-2022 走看看