使用luacom读取Excel文件中文乱码问题

YoungXYYX 2016-01-20 05:48:29
请教,
现在使用 luaforwindows5.1 自带的luacom(查明 luacom版本为1.4)。
在读取Excel的时候,使用的是Value2这个变量。
读取后 这个变量不做任何处理,直接写入新的Excel里,原本的Excel里的中文,到新的Excel中后,就剩下了一个字。

local val = excel.Read(xls, row, column)
print(string.len(val)) -- 当我的单元格里是汉字,如“测试中问”,这里会输出3,怎么会只有3呢?按理应该是3*4=12才对。我写入的时候就只有一个"测"字,后面的三个字就都没有了。

其中,Read函数原型如下:
function Read(xls, row, column)
return xls.Activesheet.Cells(row, column).Value2
end
...全文
661 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
robertlzj 2018-08-24
  • 打赏
  • 举报
回复
貌似luacom对UTF-8编码有问题?能搜到《luacom 中文 终极解决方案》自定义编译版的luacom,需要转换GBK编码,用到lua-iconv(libiconv)转换编码。
我在ZeroBraneStudio(Lua IDE)中测试luacom操作Excel.Application的COM对象,写入中文字符串没问题,测试包含Lua 5.1、Lua 5.3。
其中Lua 5.1对应的luacom.dll来自lfw Lua for windows;Lua 5.3的来自SourceForge的Zuume项目,都是编译好的1.4版。
不知道问题在哪..

37,743

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • WuKongSecurity@BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧