|
本帖最后由 李泽勇2 于 2021-12-2 22:05 编辑
脱离OFFICE套件和libxl插件,这种方法需要先新建一个空白的Excel模板,具体看看看DEMO。
用到了 黑月ADODB数据库操作类 1.33 ,模块源码就不发了,论坛里有。
带DEMO ,送给需要的人,觉得可以请给个好评+点赞,谢谢!
|
Excel导入_超级列表框_数据库 | 逻辑型 | | |
超列_ | 超级列表框 | | | | Excel文件 | 文本型 | | | | 工作表名 | 文本型 | | | | 是否清空 | 逻辑型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | 数据库_ | ADODB数据库类 | | | 记录集_ | ADODB记录集类 | | | 行数 | 整数型 | | | 列数 | 整数型 | | | 数据_ | 列表框信息 | | 0 | 总数量 | 整数型 | | | 判断 (数据库_. 连接Excel_2007 (Excel文件 )) 如果真 (是否为空 (是否清空 )) 是否清空 = 真 如果真 (是否为空 (工作表名 )) 工作表名 = “Sheet1”记录集_.打开 (“select * from [” + 工作表名 + “$]”, 数据库_, , )总数量 = 记录集_. 记录数量 ()超级列表框_高速插入表项_初始化 (超列_. 取窗口句柄 ()) 重定义数组 (数据_, 假, 总数量 )计次循环首 (总数量, 行数 )重定义数组 (数据_ [行数 ].列标题, 假, 超列_. 取列数 ()) 计次循环首 (超列_. 取列数 (), 列数 )数据_ [行数 ].列标题 [列数 ] = 记录集_. 读入序号记录 (列数 - 1 ). 取文本 ()计次循环尾 ()记录集_. 到下一条 ()计次循环尾 ()记录集_. 关闭 ()数据库_. 关闭 ()如果真 (是否清空 )超列_. 全部删除 ()超级列表框_高速插入表项 (, 数据_)返回 (真)返回 (假)|
Excel导出_超级列表框_数据库 | 逻辑型 | | |
超列_ | 超级列表框 | | | | 文件名 | 文本型 | | | | 工作表名 | 文本型 | | | | 字段 | 文本型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | 数据库_ | ADODB数据库类 | | | sql语句 | 文本型 | | | 行数 | 整数型 | | | 成功 | 逻辑型 | | | 列数 | 整数型 | | | 内容 | 文本型 | | | 文本 | 文本型 | | | 判断 (数据库_. 连接Excel_2007 (文件名 )) 数据库_. 开始事务 ()计次循环首 (超列_. 取表项数 (), 行数 )计次循环首 (超列_. 取列数 (), 列数 )内容 = 内容 + 超列_. 取标题 (行数 - 1, 列数 - 1 ) + “','”计次循环尾 ()文本 = 文本_删右边 (内容, 3 ) 如果真 (是否为空 (工作表名 )) 工作表名 = “Sheet1”sql语句 = “insert into [” + 工作表名 + “$] (” + 字段 + “) values ('” + 文本 + “')”成功 = 数据库_. 执行SQL2 (sql语句 )内容 = “” 如果真 (取反 (成功 )) 跳出循环 ()计次循环尾 ()如果 (成功 )数据库_. 保存事务 ()数据库_. 回滚事务 ()数据库_.关闭 ()返回 (成功 )返回 (假)
附件在这:
Excel导入导出-数据库方式.7z
(100.36 KB, 下载次数: 573)
|
评分
-
查看全部评分
本帖被以下淘专辑推荐:
- · 个人收藏|主题: 2513, 订阅: 80
- · 00000|主题: 43, 订阅: 0
|