开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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


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

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

查看: 279|回复: 10
收起左侧

[求助] 屎山求调整

[复制链接]
结帖率:63% (5/8)
发表于 2024-7-17 21:28:45 | 显示全部楼层 |阅读模式   四川省遂宁市
  
子程序名返回值类型公开备 注
_按钮1_被单击  
变量名类 型静态数组备 注
数据文本型 
局_计次整数型 
Excel程序1.创建 ()
Excel程序1.取程序对象 ()
Excel工作簿1.置程序 (Excel程序1)
Excel工作簿1.打开 (“H:\易语言程序设计\成套资料\亚盘测算汇总表.xlsx”)
' 需要调整代码段,该段代码是将Excel文件读取到高级表格中,原Excel工作簿一共有10张表,第一张表是亚盘数据,总共有78列*100行,其余9张表是4列*100行的,数据就这么个规模,目前的问题是读取数据很慢,读取一次需要30秒左右,
计次循环首 (10, 表数)  ' 查找所有E表的开盘时间,汇总形成开盘时间数组并写入高表首列
Excel工作簿1.表格序号 = 表数
i = 1
判断循环首 ()  ' 查找表格首列最后一行非空行号
Excel工作簿1.首单元格 = 字符 (97)到文本 (i)
Excel工作簿1.尾单元格 = 字符 (97)到文本 (i)
如果真 (删全部空 (Excel工作簿1.内容)“”)
跳出循环 ()
i = i + 1
判断循环尾 ()
N = i - 1
加入成员 (表格行数数组, N)
计次循环首 (N, 单表行数)
Excel工作簿1.首单元格 = 字符 (97)到文本 (单表行数)
Excel工作簿1.尾单元格 = 字符 (97)到文本 (单表行数)
开盘时间 = Excel工作簿1.内容
加入成员 (开盘时间数组, 开盘时间)
计次循环尾 ()
计次循环尾 ()
数组_去重复 (开盘时间数组)
数组_排序1 (开盘时间数组)
高级表格1.行数 = 取数组成员数 (开盘时间数组) + 2
计次循环首 (取数组成员数 (开盘时间数组), i)
高级表格1.置数据 (i + 1, 0, #表格常量 .文本型, 开盘时间数组 [i])
计次循环尾 ()
计次循环首 (9, 表数)  ' 第二张表——第十张表的格式是一样的,用计次循环的方式,写入高级表格
Excel工作簿1.表格序号 = 表数 + 1
计次循环首 (表格行数数组 [表数 + 1], 盘计次)
计次循环首 (取数组成员数 (开盘时间数组), 全盘计次)
Excel工作簿1.首单元格 = “A”到文本 (盘计次)
Excel工作簿1.尾单元格 = “A”到文本 (盘计次)
如果真 (Excel工作簿1.内容 = “”)
跳出循环 ()
如果真 (Excel工作簿1.内容 = 开盘时间数组 [全盘计次])
写入行数 = 全盘计次 + 1
计次循环首 (3, 列计次)
Excel工作簿1.首单元格 = 字母赋值 (97 + 列计次)到文本 (盘计次)
Excel工作簿1.尾单元格 = 字母赋值 (97 + 列计次)到文本 (盘计次)
数据 = Excel工作簿1.内容
数据 = 文本_替换 (数据, , , , “→”, “”, “↓”, “”, “←”, “”, “↑”, “”)
如果真 (列计次 = 1)
高级表格1.置数据 (写入行数, 表数 × 3 - 2, #表格常量 .文本型, 数据)
如果真 (列计次 = 2)
高级表格1.置数据 (写入行数, 表数 × 3 - 1, #表格常量 .文本型, 数据)
如果真 (列计次 = 3)
高级表格1.置数据 (写入行数, 表数 × 3, #表格常量 .文本型, 数据)

计次循环尾 ()

计次循环尾 ()
计次循环尾 ()
计次循环尾 ()
Excel工作簿1.表格序号 = 1  ' 单独把第一张表内容读取并写入高级表格
计次循环首 (表格行数数组 [1], 盘计次)
计次循环首 (取数组成员数 (开盘时间数组), 全盘计次)
Excel工作簿1.首单元格 = “A”到文本 (盘计次)
Excel工作簿1.尾单元格 = “A”到文本 (盘计次)
如果真 (Excel工作簿1.内容 = “”)
跳出循环 ()
如果真 (Excel工作簿1.内容 = 开盘时间数组 [全盘计次])
写入行数 = 全盘计次 + 1
计次循环首 (74, 列计次)
Excel工作簿1.首单元格 = 字母赋值 (97 + 列计次)到文本 (盘计次)
Excel工作簿1.尾单元格 = 字母赋值 (97 + 列计次)到文本 (盘计次)
数据 = Excel工作簿1.内容
数据 = 文本_替换 (数据, , , , “→”, “”, “↓”, “”, “←”, “”, “↑”, “”)
高级表格1.置数据 (写入行数, 列计次 + 27, #表格常量 .文本型, 数据)
计次循环尾 ()

计次循环尾 ()
计次循环尾 ()
' 第一段屎山代码写完,至此将需要的数据全部读取并写入高级表格了
Excel工作簿1.保存 (“亚盘测算汇总表.xlsx”)
Excel工作簿1.关闭 ()
Excel工作簿1.释放 ()
Excel程序1.退出 ()
Excel程序1.释放 ()
计次循环首 (取数组成员数 (开盘时间数组), 局_计次)
组合框1.加入项目 (开盘时间数组 [局_计次], )
计次循环尾 ()


i支持库列表   支持库注释   
eExcel2000EXCEL2000支持库
eGrid高级表格支持库


读取写入10张e表文件,速度太慢了,读一次差不多要半分钟,这种屎山有没有大神给帮忙调整一下下,全部身家
发表于 2024-7-17 21:35:40 | 显示全部楼层   陕西省西安市
每次读写单元格肯定慢,得一次读入一个区域然后处理
回复 支持 反对

使用道具 举报

发表于 2024-7-17 21:53:10 | 显示全部楼层   陕西省西安市
读取excel文件到高级表格.zip (11.91 KB, 下载次数: 3)
回复 支持 反对

使用道具 举报

发表于 2024-7-17 22:08:23 | 显示全部楼层   陕西省西安市
超级列表框_EXCEL_导入导出.zip (1.25 MB, 下载次数: 2)
回复 支持 反对

使用道具 举报

结帖率:63% (5/8)

签到天数: 4 天

 楼主| 发表于 2024-7-18 10:55:21 | 显示全部楼层   四川省遂宁市
anyuezhiji 发表于 2024-7-17 22:08
或者试下 XL工作表类

谢谢,我先研究学习一下
回复 支持 反对

使用道具 举报

结帖率:63% (5/8)

签到天数: 4 天

 楼主| 发表于 2024-7-18 11:11:29 | 显示全部楼层   四川省遂宁市
anyuezhiji 发表于 2024-7-17 21:53
你试下这个例子的速度

有点困难,我看上去他的写法和我的写法没啥区别呀,还有运行的时候就只读了一列
回复 支持 反对

使用道具 举报

结帖率:100% (2/2)

签到天数: 9 天

发表于 2024-7-18 15:20:25 | 显示全部楼层   贵州省毕节市
既然是读写表格的速度慢 那么可不可以不读写表格

点评

看了一下这个数据规模 拿易语言自带的高级表格保存读取 应该不超过5秒   贵州省毕节市  发表于 2024-7-18 15:23
回复 支持 反对

使用道具 举报

结帖率:63% (5/8)

签到天数: 4 天

 楼主| 发表于 2024-7-18 16:06:07 | 显示全部楼层   四川省遂宁市
笨来无一悟 发表于 2024-7-18 15:20
既然是读写表格的速度慢 那么可不可以不读写表格

大哥,你猜猜我为啥要从excel里面读取数据???

点评

excel是别人提供的 不是你自己***生成的...   贵州省毕节市  发表于 2024-7-18 16:13
回复 支持 反对

使用道具 举报

结帖率:63% (5/8)

签到天数: 4 天

 楼主| 发表于 2024-7-18 16:07:58 | 显示全部楼层   四川省遂宁市
anyuezhiji 发表于 2024-7-17 22:08
或者试下 XL工作表类

屌大的哥,例程我没看明白,原谅我这个新手小白吧,我全部身家都在这了,能不能帮我调整一下下
回复 支持 反对

使用道具 举报

  高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则 致发广告者

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

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

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