lua-excel助手
excel是我们工作及生活当中不可或缺的东西,好吧,我是一个游戏程序员,数值哥哥肯定会给我些表格的。回归正题,为什么需要做这个封装?
- 为什么需要这个项目,因为我们需要使用程序进行自动化操作
- VBA我们不熟悉,而且我必须使用我最熟悉的lua或者是python,由于lua的运行环境更简单,直接文件拷贝一下直接用,所以就他了lua
- lua如果操作excel可以使用luacom,但是我们并不是那么熟悉com结构,更何况还多了一个lua的环境
- luacom操作excel有一些坑,性能如果没有注意的话,简直等于不堪入目,所以我们必须要寻找合理的方式
总之:我们要实现,用lua的方式(table)高效的读写excel,所以我设计了这么关键接口,而不用去了解luacom及excel的接口操作,以下就是相关几个接口

详见项目地址:
https://github.com/linbc/lua-excel-tools
另附解决excel常见问题的做法:
- 将所有的dll及exe放入目录中,无须安排运行环境
- 通过将数据组织成tab分隔的一列及\r\n换行符为一行的方式,并且使用windows粘贴版进行进程数据同步,大大提高设置单元格的性能
- 经常碰到的中文乱码问题使用iconv进行GBK到UTF8的转换,搞定
- 通过批量获得格子数据的方式提高性能,但由于量太大会崩溃,所以引入分页获取的机制
- TODO:下一步可以能过windows粘贴版的方式获得数据,然后分析文本应该可以更进一步提高性能
lua-excel助手的更多相关文章
- 使用 NPOI 导出 Excel 文件
[NPOI简介] NPOI 是 POI 项目的 .NET 版本.POI是一个开源的Java读写Excel.WORD等微软OLE2组件文档的项目. 使用 NPOI 你就可以在没有安装 Office 或者 ...
- PHP:数字转Excel列头
转自我的个人博客:阔野飞花 http://www.rexcao.net/archives/169 前段时间升级一个项目的Excel导出功能,这次的列数大概有60多条,在处理过程中发现一个问题,原先做好 ...
- PHPExcel 导出数据(xls或xlsx)- 助手类(函数)
本文链接:https://www.cnblogs.com/tujia/p/11358096.html 说明:简单好用的导出助手,轻松导出数据到 excel !! 使用示例: Example: Exce ...
- Python导出Excel为Lua/Json/Xml实例教程(三):终极需求
相关链接: Python导出Excel为Lua/Json/Xml实例教程(一):初识Python Python导出Excel为Lua/Json/Xml实例教程(二):xlrd初体验 Python导出E ...
- Python导出Excel为Lua/Json/Xml实例教程(二):xlrd初体验
Python导出Excel为Lua/Json/Xml实例教程(二):xlrd初体验 相关链接: Python导出Excel为Lua/Json/Xml实例教程(一):初识Python Python导出E ...
- Python导出Excel为Lua/Json/Xml实例教程(一):初识Python
Python导出Excel为Lua/Json/Xml实例教程(一):初识Python 相关链接: Python导出Excel为Lua/Json/Xml实例教程(一):初识Python Python导出 ...
- 记录——excel导出lua工具(python实现)
项目需要一个从excel导出lua配置表的工具,之前的工具是主程写的,效率极差,i7 CPU 一次全部导出要花掉1个多小时.匪夷所思的是,这么渣的效率,居然用了整整一年.当 然,中途有人反映效率差,主 ...
- 【游戏开发】Excel表格批量转换成lua的转表工具
一.简介 在上篇博客<[游戏开发]Excel表格批量转换成CSV的小工具> 中,我们介绍了如何将策划提供的Excel表格转换为轻便的CSV文件供开发人员使用.实际在Unity开发中,很多游 ...
- lua的table转为excel表格的方法
项目中需要用到转表工具,由于没有直接的转表工具,而且嵌套的table(table里面嵌套了多层表格与数组).无奈之下,只好采用折衷的方法,先将table表格转为json数据,再用在线转表工具将json ...
- [tools]excel转lua的python实现
time:2015/04/13 描述:需要将excel表格内容转成lua,并且作为工具使用,能够批量转换 步骤: (1)文章[1]已经做了大部分的内容,而且也已经能够使用了 (2)根据自己新的需求: ...
随机推荐
- CentOS 7禁止IPv6
如何在CentOS 7中禁止IPv6 https://Linux.cn/article-4935-1.html 最近,我的一位朋友问我该如何禁止IPv6.在搜索了一番之后,我找到了下面的方案.下面就是 ...
- Java入门系列-18-抽象类和接口
抽象类 在第16节继承中,有父类 People People people=new People(); people.sayHi(); 实例化People是没有意义的,因为"人"是 ...
- angularjs 判断是否包含 permIDs|filter:'10'
<div class="span12 tools"> <ul class="row-fluid" id=&quo ...
- mysql服务器运维简单命令介绍
1.mysql>show processlist; 此处关注查询时间,关注谁锁住了表,谁最多: 2.查看开启的日志 mysql>show global variables like '%l ...
- [转].NET Core dotnet 命令大全
本文转自:http://www.cnblogs.com/linezero/p/dotnet.html https://docs.microsoft.com/en-us/dotnet/articles/ ...
- Error:Annotation processors must be explicitly declared now.
环境 Android Studio 3.0 Gradle 3.0.0 gradle 4.1 Error Error:Execution failed for task ':app:javaPreCom ...
- 互联网轻量级框架SSM-查缺补漏第六天【级联+延迟加载特辑】
简言:本来这是昨天看的,但是因为想好好写一下[级联]这个东西,所以就看完之后今天来整理一下. 级联 1. 什么是级联 级联是一个数据库实体的概念.比如教师就需要存在学生与之对应,这样就有教师学生表,一 ...
- ajax上传数据
---恢复内容开始--- ajax上传数据,(简洁版) 1.上传普通同表单标签内容. 1.获取表单的内容 1. var file=$('#file').val();(放在点击事件后面) 2. var ...
- 前端(二):css样式
本节笔记根据css中文手册整理,内容已做成思维导图.下载地址https://files.cnblogs.com/files/kuaizifeng/css.xmind.zip. css(Csacadin ...
- Effective C++ .37 virtual函数中默认参数的表现
#include <iostream> #include <cstdlib> using namespace std; class Pen { public: ) { cout ...