开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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


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

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

查看: 20860|回复: 40
收起左侧

[易语言模块源码] 超级列表框导出到EXCEL文件——2021.03.15修正版

[复制链接]
结帖率:94% (133/141)
发表于 2021-3-15 22:23:52 | 显示全部楼层 |阅读模式   山东省济南市
分享例程
界面截图:
备注说明: 本模块非原创,出处不详。只记得是从精易论坛下载的,有知道原贴地址的欢迎以回复的方式贴出。
为了表示对原作者的尊重我知道原贴后会进行追加!
本帖最后由 墨影0620 于 2021-3-15 22:25 编辑
  1. 相对于原版的新增/修复内容
复制代码
1、去除没必要的打开文件
2、取消自动创建目录,合并保存目录参数和变量。
3、修复空格子导出为0
4、修复因第一行第一列为空导致无法导出的bug,现在如果所有的表项内容均为空会导出一个只有列(表头)的空表格。
5、新增没有列时候的错误提示。
6、修正返回值无意义的问题
7、新增列不导出
8、新增表项按规则导出\不导出
9、删除多余的变量,精简代码。



下载:https://the-ink-man.lanzous.com/i9V8amz443i
注意事项:
1、调用常量“#修改内容” 可以查看上述相对于原版修改/新增的说明,如果介意请自行修改源码删除重新编译使用!
2、处修复bug,删减多余变量以及新增内容外未对原包内其他内容做出修改!



补充内容 (2021-3-16 22:40):
发现一个因某表项的某列空导致后面的列内容错误的bug,已修复。请等待回帖审核通过!

补充内容 (2021-3-16 22:41):
2021年3月16日 22:41:15更新下载:https://the-ink-man.lanzous.com/iFemgn0cfqb

评分

参与人数 3好评 +3 精币 +7 收起 理由
易语言资源网 + 1 + 3 感谢分享,很给力!~
李泽勇2 + 1 + 2 感谢分享,很给力!~
szxiao + 1 + 2 感谢发布原创作品,精易因你更精彩!

查看全部评分


友情提醒:请选择可信度高的模块,勿用未知模块,防止小人在模块内加入木马程序。【发现问题模块请到站务投诉】。

本帖被以下淘专辑推荐:

结帖率:95% (39/41)

签到天数: 16 天

发表于 2021-3-18 13:46:46 | 显示全部楼层   湖北省荆门市
  
子程序名返回值类型公开备 注
XLSX初始化_整数型 调用libxl插件前必须初始化,返回句柄
变量名类 型静态数组备 注
句柄整数型 
句柄 = xlCreateXMLBookCA ()  ' 初始化
xlBookSetKeyA (句柄, 取文本_指针 (“heiye2018”), 取文本_指针 (“windows-2429200204cde60c6ab16a6ea1q9wec2”))  ' 注册
返回 (句柄)
  
子程序名返回值类型公开备 注
Excel导出_超级列表框逻辑型 调用libxl插件
参数名类 型参考可空数组备 注
超级列表框_超级列表框超级列表框
进度条_进度条
表头文本型{“列1”,“列2”}
工作表名文本型
列宽整数型例如:{19,19},默认自动调整
路径文本型Excel保存路径\理论支持( 2007、2010、2016)格式文件
变量名类 型静态数组备 注
句柄整数型 
总数长整数型 
a整数型 
b整数型 
c整数型 
d整数型 
e文本型 
f整数型 
终止列整数型 
qq整数型 
总数 = 超级列表框_.取表项数 ()
句柄 = XLSX初始化_ ()
c = xlBookInsertSheetA (句柄, xlBookSheetCountA (句柄), 取文本_指针 (工作表名), 0)
a = xlBookAddFormatA (句柄, 0)
xlFormatSetBorderA (a, 1)
计次循环首 (取数组成员数 (表头), b)
xlSheetWriteStrA (c, 0, b - 1, 取文本_指针 (表头 [b]), a)
计次循环尾 ()
进度条_.位置 = 0
进度条_.最大位置 = 总数
如果真 (总数 ≥ 32767)  ' 解决超出这个数就无法显示进度的问题。
进度条_.最大位置 = 总数 ÷ 100

终止列 = 取数组成员数 (表头)
如果真 (是否为空 (列宽))
计次循环首 (终止列, )
加入成员 (列宽, -1)
计次循环尾 ()
计次循环首 (总数, d)
计次循环首 (终止列, b)
e = 超级列表框_.取标题 (d - 1, b - 1)
xlSheetWriteStrA (c, d, b - 1, 取文本_指针 (e), a)
计次循环尾 ()
判断 (总数 ≥ 32767)
进度条_.位置 = d ÷ 100
进度条_.位置 = d
系统_处理事件1 ()
计次循环尾 ()
xlSheetAddIgnoredErrorA (c, 0, 0, d, b, 255)  ' 添加表格忽略错误
计次循环首 (取数组成员数 (列宽), qq)
xlSheetSetColA (c, qq - 1, qq - 1, 列宽 [qq], 0, 0)  ' 调整列宽
计次循环尾 ()
f = xlBookSaveA (句柄, 取文本_指针 (路径))
xlBookReleaseA (句柄)
返回 (f = 1)


i支持库列表   支持库注释   
iext扩展界面支持库一

  
子程序名返回值类型公开备 注
Excel导入_超级列表框逻辑型 调用libxl插件
参数名类 型参考可空数组备 注
超级列表框_超级列表框组件
进度条_进度条组件
Excel文件文本型理论支持( 2007、2010、2016)格式文件
是否包含表头逻辑型默认不包含表头
变量名类 型静态数组备 注
句柄整数型 
表_句柄整数型 
列数整数型 
行数整数型 
读取表格整数型 
整数型 
整数型 
临时内容文本型 
行内容文本型 
行__整数型 
句柄 = XLSX初始化_ ()
如果真 (取反 (xlBookLoadA (句柄, 取文本_指针 (Excel文件)) = 1))  ' 打开工作簿
xlBookReleaseA (句柄)  ' 释放
返回 ()
表_句柄 = xlBookGetSheetA (句柄, 读取表格)  ' 取表格内容
行数 = xlSheetLastRowA (表_句柄)  ' 取得行数
列数 = xlSheetLastColA (表_句柄)  ' 取得列数
超级列表框_.全部删除 ()
如果真 (是否为空 (是否包含表头))
是否包含表头 = 假
如果真 (是否包含表头 = )
行数 = 行数 - 1

进度条_.位置 = 0
进度条_.最大位置 = 行数
如果真 (行数 - 1 ≥ 32767)  ' 解决超出这个数就无法显示进度的问题。
进度条_.最大位置 = 行数 ÷ 100

计次循环首 (行数, 行)  ' 读工作表数据
列 = 0
判断 (行数 ≥ 32767)
进度条_.位置 = 行 ÷ 100
进度条_.位置 = 行
超级列表框_.插入表项 (, , , , , )
计次循环首 (列数, 列)
判断 (是否包含表头 = )
行__ = 行
行__ = 行 - 1
临时内容 = 指针到文本 (xlSheetReadStrA (表_句柄, 行__, 列 - 1, 0))  ' 读单元格文本
超级列表框_.置标题 (行 - 1, 列 - 1, 临时内容)
计次循环尾 ()
系统_处理事件1 ()
计次循环尾 ()
xlBookReleaseA (句柄)  ' 释放
返回 ()


i支持库列表   支持库注释   
iext扩展界面支持库一




兄弟,看我的这个怎么样?
回复 支持 反对

使用道具 举报

结帖率:100% (4/4)

签到天数: 16 天

发表于 2024-1-15 08:41:56 | 显示全部楼层   山东省淄博市
感谢分析,学习了
回复 支持 反对

使用道具 举报

发表于 2023-2-26 22:36:54 | 显示全部楼层   江苏省苏州市
李泽勇2 发表于 2021-3-18 13:46
[e=0].版本 2

.子程序 XLSX初始化_, 整数型, , 调用libxl插件前必须初始化,返回句柄

不可以设置导出的任意列
回复 支持 反对

使用道具 举报

结帖率:100% (1/1)
发表于 2022-11-17 23:28:24 | 显示全部楼层   贵州省黔东南苗族侗族自治州
感谢分享
回复 支持 反对

使用道具 举报

结帖率:100% (4/4)

签到天数: 8 天

发表于 2022-9-29 20:57:27 | 显示全部楼层   河南省许昌市
李泽勇2 发表于 2021-3-18 13:46
[e=0].版本 2

.子程序 XLSX初始化_, 整数型, , 调用libxl插件前必须初始化,返回句柄

代码不全啊
回复 支持 反对

使用道具 举报

结帖率:85% (11/13)
发表于 2022-7-8 16:33:42 | 显示全部楼层   湖南省长沙市
回复 支持 反对

使用道具 举报

结帖率:71% (15/21)
发表于 2022-7-4 15:52:57 | 显示全部楼层   广东省中山市
链接挂了
回复 支持 反对

使用道具 举报

结帖率:90% (9/10)

签到天数: 15 天

发表于 2021-8-13 07:19:25 | 显示全部楼层   吉林省长春市
大佬连接好像挂了~
回复 支持 反对

使用道具 举报

发表于 2021-6-23 11:56:54 | 显示全部楼层   四川省成都市

大佬,怎么可以把用易语言写的操作Excel小工具,加载到Excel表头哪里呀,,就像菜单栏那个一样,,我转成dll用Excel的com加载项,识别不了,
回复 支持 反对

使用道具 举报

结帖率:95% (39/41)

签到天数: 16 天

发表于 2021-6-22 14:11:19 | 显示全部楼层   湖北省荆门市
下载链接失效了。
回复 支持 反对

使用道具 举报

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

本版积分规则 致发广告者

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

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

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