原地址: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放在最后,或者生成的时候给它加个颜色来标识一下,而已经翻译过的就不要在生成成新的了。

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

因为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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27

# -*- coding: utf-8-*-
import xlsxwriter
import sys
import os
#带生成excel的文本参数传递进来,这里取到它的目录
folder,path=os.path.split(sys.argv[1])
#在他的同级目录下生成.xlsx
xlsxPath = folder + '/demo.xlsx'
#准备开始生成excel
workbook = xlsxwriter.Workbook(xlsxPath)
worksheet = workbook.add_worksheet()
row = 0
#读取文本,按照♀符号隔开的顺序
file = open(sys.argv[1], 'r')
lines = [ x.strip().split('♀') for x in file.readlines() ]
#循环遍历,把内容写进excel中
for line in lines[1:]:
    #这里要注意,因为设置文本的格式是UTF-8不然会报错喔
    worksheet.write(row, 0, unicode(line[0] , 'utf-8'))
    worksheet.write(row, 1, unicode(line[1] , 'utf-8'))
    row += 1
workbook.close()

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

1
python /Users/MOMO/New\ Unity\ Project\ 15/Assets/Scripts/Editor/XlsxWriter-0.5.6/demo.py /Users/MOMO/New\ Unity\ Project\ 15/Assets/out.txt

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

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

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

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

  • 本文固定链接: http://www.xuanyusong.com/archives/3011
  • 转载请注明: 雨松MOMO 2014年07月25日 于 雨松MOMO程序研究院 发表

转载于:https://www.cnblogs.com/123ing/p/3873092.html

Unity3D研究院之在MAC上脚本XlsxWriter写入Excel .xlsx格式相关推荐

  1. Mac上xlwings库设置excel单元格字体

    pycharm 2022.2        xlwings-version 0.24.6        macOS  m1  12.6 此前遇到的问题: 1. windows的代码在mac上行不通 i ...

  2. Mac上使用中文Beamer添加各种格式的图片

    最近任性的非要用Beamer来制作报告. 然后小组里的汇报还要用中文. 然后出于长远的考虑,抛弃了办公室的台式Windows,强行要在Mac Book Pro上面折腾. 安慰自己说:至少,技术小白迈出 ...

  3. 苹果计算机磁盘格式,Mac 上“磁盘工具”中可用的文件系统格式

    Apple 文件系统 (APFS) Apple 文件系统 (APFS) 是运行 macOS 10.13 或后续版本的 Mac 电脑所使用的默认文件系统,它具有强加密.空间共享.磁盘快照.快速目录大小统 ...

  4. (转)MOMO的Unity3D研究院之深入理解Unity脚本的执行顺序(六十二)

    http://www.xuanyusong.com/archives/2378 Unity是不支持多线程的,也就是说我们必须要在主线程中操作它,可是Unity可以同时创建很多脚本,并且可以分别绑定在不 ...

  5. ntfs硬盘如何在mac上读写移动硬盘文件?

    在日常的工作中,总是避免不了跨平台的传输文件.文件共享等,例如一些用户使用Mac电脑修图或者剪辑视频之后需要拷贝到Windows电脑上查看.对于需要同时使用Mac和Windows的用户来说,系统之间不 ...

  6. xlsxwriter写行合并_XlsxWriter写入excel文件

    XlsxWriter写入excel文件 唐黎琦 [摘要] 在日常开发中,我们经常会遇到需要将数据导出为excel的场景,XlsxWriter作为专门写入excel文件的python库,对excel文件 ...

  7. Aspose.Cells使用教程:使用 .NET 在 Linux 上创建或编辑 Excel 文件

    如今自动化解决方案的出现使得电子表格自动化在各个行业中都很流行.电子表格文档是从 Web 或桌面解决方案中以编程方式创建和操作的.因此,本文介绍了如何使用 .NET 在 Linux 平台上创建 Exc ...

  8. mac上使用crontab周期性执行python脚本

    这个月买了本书<Linux系统命令及Shell脚本实践指南>, 看到了一个周期性执行任务cron.顿时产生一个想法: mac上有这种机制么? 加上自己也在15年下半年也学了点python脚 ...

  9. mac定时执行python_Python脚本实现在Mac上DIY定时提醒功能

    背景:这两天一直沉迷于在电脑上看书,每到12点该吃饭时就会忘了,同事还要到工位上叫我,于是就想搞出来一个每天能够定时提醒我该做什么事情的功能,这样能够有提前准备.今天下午花了半天的时间研究了一下,最终 ...

最新文章

  1. 真实!拖垮中小技术团队的 11 宗罪
  2. 【控制】《最优控制理论与系统》-胡寿松老师-第1章-导论
  3. Linux如何通过csv导入neo4j,neo4j-import导入CSV 数据
  4. python解题软件哪个好_笔试 - 高德软件有限公司python问题 和 答案
  5. 读《数学之美》第四章 谈谈分词
  6. java jdbc 详解_JDBC概述及详解各个对象
  7. 基于Spring的包含特定注解bean的package扫描工具
  8. cin,cerr,clog,cout
  9. 关于exe应用程序做成Windows服务爬过的坑
  10. clover写入efi_黑苹果安装核心文件-四叶草引导Clover EFI 配置文件结构讲解
  11. 捷联惯导系统学习4.3(静基座误差)
  12. Mysql基础增删改查语句
  13. hdu1879继续畅通工程(最小生成树kru算法)
  14. 运筹帷幄决胜千里,Python3.10原生协程asyncio工业级真实协程异步消费任务调度实践
  15. java类的构造方法编程训练—买可乐
  16. Network网络诊断工具for windows
  17. 计算机第二课堂教学计划,第二课堂教学计划
  18. 移动端页面布局方式,简单记录一下
  19. 118、验证有效期JWT实施方案
  20. python rpy2时间序列_时间序列(二):时序预测那些事儿

热门文章

  1. sgu-207 Robbers
  2. SQL PLUS命令使用大全(转,特有用)
  3. 关于GDPR,你需要了解的的5件事
  4. labview:一个采集数据的小程序
  5. C#调用cplex出现引发类型为“ILOG.Concert.Exception”的异常
  6. STM32硬件SPI通过fm17550读取身份证UID,识别银行卡,识别TYPEA与TYPEB
  7. win10 卸载cuda10.1
  8. poj 1383 Labyrinth 树的直径
  9. ThinkPad X250加装固态硬盘教程
  10. PowerShell自动加载账号密码