| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 185 人关注过本帖
标题:转发一个ExcelToTable(xls2dbf)的小工具,提前祝各位网友蛇年快乐
只看楼主 加入收藏
my2318
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:14
帖 子:296
专家分:640
注 册:2014-3-18
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:9 
转发一个ExcelToTable(xls2dbf)的小工具,提前祝各位网友蛇年快乐

(免安装1.0Demo)ExcelToTable(xls2dbf).rar (2.8 MB)


[此贴子已经被作者于2025-1-30 22:16编辑过]

搜索更多相关主题的帖子: 工具 快乐 ExcelToTable 网友 
5 天前 08:08
sam_jiang
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:14
帖 子:852
专家分:1300
注 册:2021-10-13
收藏
得分:4 
新年快乐
5 天前 09:08
wxzd123
Rank: 2
等 级:论坛游民
帖 子:410
专家分:88
注 册:2012-9-6
收藏
得分:4 
所有狐友新年快乐,万事如意!
5 天前 09:13
sxcl7899
Rank: 2
等 级:论坛游民
帖 子:6
专家分:28
注 册:2022-6-30
收藏
得分:4 
狐友们春节快乐、阖家幸福、万事如意!
5 天前 22:36
schtg
Rank: 12Rank: 12Rank: 12
来 自:Usa
等 级:贵宾
威 望:67
帖 子:1855
专家分:3607
注 册:2012-2-29
收藏
得分:4 
狐友们春节快乐、阖家幸福、万事如意!
4 天前 06:57
wcx_cc
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:52
帖 子:407
专家分:1298
注 册:2015-10-2
收藏
得分:4 
支持!!!
4 天前 11:58
chychychy
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:342
专家分:124
注 册:2015-4-18
收藏
得分:4 
测试了一下,选择的第二项,无法正常转换,且后台锁定电子表格,无法正常打开
3 天前 11:22
chychychy
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:342
专家分:124
注 册:2015-4-18
收藏
得分:0 
sdta的这段程序就很好用
程序代码:

* 选择 Excel 文件
FILENAME = GETFILE("XLS", "文件名", "确定", 0, "请选择 EXCEL 文件")
IF EMPTY(FILENAME)
   MESSAGEBOX("未选择(未找到需要的)EXCEL 文件", 64, "系统信息")
   RETURN
ENDIF

* 检查是否已打开同名表
IF USED(JUSTSTEM(FILENAME))
   USE IN SELECT(JUSTSTEM(FILENAME))
ENDIF

* 设置 DBF 文件名
DBFNAME = PUTFILE("保存为(&N):", JUSTSTEM(FILENAME) + ".DBF", "DBF")
IF EMPTY(DBFNAME)
   MESSAGEBOX("DBF 文件名不能为空", 64, "系统信息")
   RETURN
ENDIF

* 创建 Excel 对象
OEXCEL = CREATEOBJECT("EXCEL.APPLICATION")
IF TYPE("OEXCEL") <> "O" OR ISNULL(OEXCEL)
   MESSAGEBOX("无法创建 Excel 对象,请确保已安装 Microsoft Excel。", 16, "系统信息")
   RETURN
ENDIF

* 转换过程
WAIT "正在转换 " + FILENAME WINDOW TIMEOUT 0 NOWAIT AT SROWS() / 2, (SCOLS() - LEN("正在转换 " + FILENAME)) / 2

WITH OEXCEL
   .DISPLAYALERTS = .F.  && 关闭提示信息
   .VISIBLE = .F.        && 不显示 Excel 界面

   * 打开 Excel 文件
   TRY
      .WORKBOOKS.OPEN(FILENAME)
   CATCH
      MESSAGEBOX("无法打开文件:" + FILENAME, 16, "系统信息")
      .QUIT
      RELEASE OEXCEL
      WAIT CLEAR
      RETURN
   ENDTRY

   * 获取第一个工作表的数据范围
   TRY
      R = .SHEETS(1).USEDRANGE.ROWS.COUNT     && 有数据的行
      C = .SHEETS(1).USEDRANGE.COLUMNS.COUNT  && 有数据的列
   CATCH
      MESSAGEBOX("无法读取 Excel 文件数据,请检查文件格式。", 16, "系统信息")
      .WORKBOOKS.CLOSE
      .QUIT
      RELEASE OEXCEL
      WAIT CLEAR
      RETURN
   ENDTRY

   * 保存为 DBF 文件
   TRY
      .ACTIVEWORKBOOK.SAVEAS(DBFNAME, 11)  && 保存为 DBF4 格式
   CATCH
      MESSAGEBOX("保存 DBF 文件失败,请检查路径和权限。", 16, "系统信息")
      .WORKBOOKS.CLOSE
      .QUIT
      RELEASE OEXCEL
      WAIT CLEAR
      RETURN
   ENDTRY

   * 关闭 Excel
   .WORKBOOKS.CLOSE
   .QUIT
ENDWITH

* 释放资源
RELEASE OEXCEL
WAIT CLEAR

* 提示完成
MESSAGEBOX(DBFNAME + " 转换完毕", 64, "系统信息")
3 天前 11:24
my2318
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:14
帖 子:296
专家分:640
注 册:2014-3-18
收藏
得分:0 
回复 7楼 chychychy
重新启动电脑就好了,处理空单元格会出错误,新版本已经修复了,改天在电脑上传给大家
3 天前 20:17
my2318
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:14
帖 子:296
专家分:640
注 册:2014-3-18
收藏
得分:0 
回复 7楼 chychychy
已经更新了
3 天前 22:17
快速回复:转发一个ExcelToTable(xls2dbf)的小工具,提前祝各位网友蛇年快乐
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.062910 second(s), 9 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved