开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

楼主: MYSTERDEVIL
收起左侧

[易语言纯源码] Excel读写库 LibXL3.94 最新修改版!!

    [复制链接]
结帖率:100% (1/1)
发表于 2021-4-8 14:46:42 | 显示全部楼层   北京市北京市
本帖最后由 yunlifan888 于 2021-4-8 14:48 编辑
  1. .版本 2
  2. .支持库 spec

  3. .子程序 _按钮2_被单击
  4. .局部变量 工作薄, EXCEL工作簿类
  5. .局部变量 i, 长整数型

  6. 工作薄.创建XLSX ()
  7. 工作薄.打开文件 (“D:\查(52238805).xlsx”)
  8. 工作表0 = 工作薄.选择工作表 (0)
  9. i = 65510
  10. .判断循环首 (i < 65580)
  11.     调试输出 (到文本 (i) + “=” + 工作表0.取单元格文本 (i, 0))
  12.     i = i + 1
  13. .判断循环尾 ()
  14. 工作薄.释放 ()
复制代码



这是调试输出的内容:
QQ截图20210408143310.jpg
从第65536行开始出错的,前面都正常,表里的数据都正常
回复 支持 反对

使用道具 举报

结帖率:100% (1/1)
发表于 2021-4-8 11:57:00 | 显示全部楼层   北京市北京市
MYSTERDEVIL 发表于 2021-4-7 18:24
我测试了下 正常的呀

能把你的源码给我吗?谢谢
回复 支持 反对

使用道具 举报

签到天数: 17 天

 楼主| 发表于 2021-4-7 18:24:43 | 显示全部楼层   贵州省*
yunlifan888 发表于 2021-4-7 18:23
是xlsx的,不是xls
超过65536行的每隔6行又能读出来6行,再有6行读不出来,又能读出6行
...

我测试了下 正常的呀
回复 支持 反对

使用道具 举报

结帖率:100% (1/1)
发表于 2021-4-7 18:23:29 | 显示全部楼层   北京市北京市
MYSTERDEVIL 发表于 2021-4-7 18:05
你的文件肯定是  xls 吧  应为xls最大就是65536行

是xlsx的,不是xls
超过65536行的每隔6行又能读出来6行,再有6行读不出来,又能读出6行
回复 支持 反对

使用道具 举报

签到天数: 17 天

 楼主| 发表于 2021-4-7 18:05:53 | 显示全部楼层   贵州省*
yunlifan888 发表于 2021-4-7 14:24
超过65536行就会出错,怎么解决啊,行变量我定义了长整型也不行
从第65537行开始有的行可以读出来,有的读 ...

你的文件肯定是  xls 吧  应为xls最大就是65536行
回复 支持 反对

使用道具 举报

结帖率:100% (1/1)
发表于 2021-4-7 14:24:28 | 显示全部楼层   北京市北京市
超过65536行就会出错,怎么解决啊,行变量我定义了长整型也不行
从第65537行开始有的行可以读出来,有的读不出来,不知道为啥了
excel65535.jpg 上图是excel里的从第65537行开始就会出错了

文本

文本


上图是导出到文本文档里的
代码如下:
  
子程序名返回值类型公开备 注
_按钮1_被单击  
变量名类 型静态数组备 注
文件名文本型0
i长整数型 
工作簿EXCEL工作簿类 
工作表EXCEL工作表类 
终止行整数型 
起始行整数型 
起始列整数型 
终止列整数型 
多邮箱文本型0
n整数型 
其他信息文本型 
文件号整数型 
m整数型 
文件_枚举 (目录框1.目录, “*.xls|*.xlsx”, 文件名, 真, )
计次循环首 (取数组成员数 (文件名), m)
调试输出 (文件名 [m])
计次循环尾 ()
如果 (取数组成员数 (文件名) < 1)
编辑框2.内容 = “没有Excel文件,已结束”
返回 ()


文件号 = 打开文件 (目录框1.目录 + “\”时间_取北京时间戳 ()“.txt”, 5, )
计次循环首 (取数组成员数 (文件名), m)
编辑框2.内容 = 到文本 (m)“/”到文本 (取数组成员数 (文件名)) + “,” + 文件名 [m]“,”到文本 (时间_取北京时间 ()) + #换行符 + 编辑框2.内容
如果 (文件_取扩展名 (文件名 [m])“.xlsx”)
工作簿.创建XLSX ()
工作簿.创建XLS ()

工作簿.打开文件 (文件名 [m])
工作表 = 工作簿.选择工作表 (0)
起始行 = 到数值 (编辑框1.内容)
如果 (编辑框1.内容 = “”)
起始行 = 工作表.开始使用行 ()


起始列 = 工作表.开始使用列 ()
终止列 = 工作表.结束使用列 ()
终止行 = 工作表.结束使用行 ()
进度条1.最小位置 = 0
进度条1.最大位置 = 终止行 - 起始行 - 1
i = 起始行
编辑框2.内容 = “文件一共有 ”到文本 (终止行)“ 行,从第 ”到文本 (起始行)“ 行开始”#换行符 + 编辑框2.内容
判断循环首 (i < 终止行)
进度条1.位置 = i
其他信息 = 工作表.取单元格文本 (i, 2)“,” + 工作表.取单元格文本 (i, 0)“,” + 工作表.取单元格文本 (i, 4)“,” + 工作表.取单元格文本 (i, 19)“,” + 工作表.取单元格文本 (i, 6)“,” + 工作表.取单元格文本 (i, 7)
调试输出 (工作表.取单元格文本 (i, 11)“,” + 其他信息)
写文本行 (文件号, 工作表.取单元格文本 (i, 11)“,” + 其他信息)
如果 (文本_取长度 (工作表.取单元格文本 (i, 12)) > 5)
多邮箱 = 分割文本 (工作表.取单元格文本 (i, 12), “;”, )
计次循环首 (取数组成员数 (多邮箱), n)
调试输出 (多邮箱 [n]“,” + 其他信息)
写文本行 (文件号, 多邮箱 [n]“,” + 其他信息)
计次循环尾 ()



处理事件 ()
i = i + 1
判断循环尾 ()
工作簿.释放 ()
计次循环尾 ()
工作簿.创建XLSX ()
关闭文件 (文件号)
编辑框2.内容 = “======整理完成======”到文本 (时间_取北京时间 ()) + #换行符 + 编辑框2.内容


i支持库列表   支持库注释   
spec特殊功能支持库

回复 支持 反对

使用道具 举报

结帖率:100% (1/1)
发表于 2021-4-7 14:23:55 | 显示全部楼层   北京市北京市
本帖最后由 yunlifan888 于 2021-4-7 14:27 编辑

非常好用,xls和xlsx都能用,遇到个问题,求帮忙
回复 支持 反对

使用道具 举报

结帖率:91% (10/11)

签到天数: 11 天

发表于 2021-4-7 10:46:40 | 显示全部楼层   河南省郑州市
功能强大,例程有点少。
回复 支持 反对

使用道具 举报

发表于 2021-4-6 11:22:22 | 显示全部楼层   山东省潍坊市
感谢分享,试试好用不
回复 支持 反对

使用道具 举报

结帖率:0% (0/1)

签到天数: 4 天

发表于 2021-4-2 23:54:24 | 显示全部楼层   广东省潮州市
谢谢分享。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表