news 2026/9/3 4:39:58

数据表(DBF)文件或数据视图转为 WORD (RTF)格式文件

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
数据表(DBF)文件或数据视图转为 WORD (RTF)格式文件

数据表(DBF)文件或数据视图转为 WORD (RTF)格式文件程序(没有新意),请大家测试,并欢迎提出批评意

见或建议。

代码如下:

&& 将 数据表转化为 WORD 格式文件

&& 注意:

&& 1、先打开待转为WORD格式的数据表或视图名,也可先选择待转换的字段并查询到临时数据表

&& 2、设定标题

&& 参数说明:

&& my_title 标题&& rtf_name WORD 文件主名&& my_alias 待转为WORD格式的数据表SET TALK OFFSET SAFE OFFSET DATE TO ANSISET CENTURY ONSET COMPATIBLE OFFLOCAL my_title,my_alias,rtf_namemy_alias="swaj" &&数据表别名或视图名 换上你自己的数据表或视图名my_title="实物档案收集情况" &&标题 换上你的标题rtf_name=my_title && Html word文件主名 换上你的WORD 文件主名my_dbfopen=.F. && 数据表未打开IF EMPTY(my_alias)RETUENDIFIF !USED(my_alias)USE &my_alias IN 0ELSESELE(my_alias)my_dbfopen=.T. && 数据表已打开ENDIFSELE(my_alias)IF EOF()GO TOPIF EOF()IF my_dbfopen=.F. && 数据表未打开,关闭之SELE(my_alias)USEENDIFRETUENDIFENDIFIF EMPTY(ALLT(my_title))my_title=my_aliasENDIFmyoutputfile="c:\"+my_title+".rtf"rtf_name=PUTFILE("文件名:",myoutputfile,"RTF")rtf_name=ALLT(rtf_name)IF EMPTY(rtf_name)IF my_dbfopen=.F. && 数据表未打开,关闭之SELE(my_alias)USEENDIFRETUENDIFrtf_name=ALLT(rtf_name)SELE(my_alias)myrecno=RECNO()COPY TO c:\my_tempwenjianSELE 0USE c:\my_tempwenjianWAIT WIND " 正在转化为 WORD(RTF)格式文件,请稍等... " NOWAITmy_html=""my_html=my_html+"<html>"+CHR(13)+'<head>'+CHR(13)+"<title>"+my_title+"</title>"my_html=my_html+CHR(13)+'<meta http-equiv="Content-Type" content="text/html; charset=gb2312">'my_html=my_html+CHR(13)+'<meta http-equiv="Content-Language" content="zh-cn">'my_html=my_html+CHR(13)+"</head>"my_html=my_html+CHR(13)+'<p align="center"><font><b>'+"&nbsp"+'</b></font></p>'my_html=my_html+CHR(13)+"<center>"my_html=my_html+CHR(13)+'<table id="GenTable" border=1>'my_html=my_html+CHR(13)+"<tr>"#DEFINE NUM_AFIELDS 16LOCAL iPUBLIC aWizFListDIMENSION aWizFList[1]=AFIELDS(aWizFList)FOR m.i = 1 TO FCOUNT()IF INLIST(aWizFList[m.i,2],"G","U") &&Memo fieldLOOPELSEmy_html=my_html+CHR(13)+"<th>"+aWizFList[m.i,1]+"</th>"ENDIFENDFORmy_html=my_html+CHR(13)+"</tr>"myFCOUNT=FCOUNT()LOCAL mytextzhiSELE my_tempwenjianGO TOPSCANmy_html=my_html+CHR(13)+"<tr>"FOR m.i = 1 TO myFCOUNTIF INLIST(aWizFList[m.i,2],"G","jM","U")ELSEmyzdm=aWizFList[m.i,1]mytextzhi=EVALUATE(myzdm)IF EMPTY(mytextzhi) OR ISNULL(mytextzhi)mytextzhi=""ELSEDO CASECASE INLIST(aWizFList[m.i,2],"C")mytextzhi=ALLT(mytextzhi)CASE INLIST(aWizFList[m.i,2],"M")mytextzhi=TRIM(mytextzhi)mytextzhi=STRTRAN(STRTRAN(STRTRAN(STRTRAN(mytextzhi,[-],[&ndash;]),[<],[&lt;]),[>],[&gt;]),[ ],[])mytextzhi=STRTRAN(mytextzhi,CHR(13),'')CASE INLIST(aWizFList[m.i,2],"N")mywidth=aWizFList[m.i,3]mydwidth=aWizFList[m.i,4]mytextzhi=ALLT(STR(mytextzhi,mywidth,mydwidth))CASE INLIST(aWizFList[m.i,2],"Y")mytextzhi=ALLT(STR(mytextzhi,20,4))CASE INLIST(aWizFList[m.i,2],"I","B","F")mytextzhi=ALLT(STR(mytextzhi))CASE aWizFList[m.i,2]="D"mytextzhi=DTOC(mytextzhi)CASE aWizFList[m.i,2]="T"mytextzhi=TTOC(mytextzhi)CASE aWizFList[m.i,2]="L"IF mytextzhi=.T.mytextzhi="是"ELSEmytextzhi="否"ENDIFOTHERmytextzhi=""ENDCASEENDIFIF EMPTY(mytextzhi) OR ISNULL(mytextzhi)mytextzhi=""ENDIFIF INLIST(aWizFList[m.i,2],"N","Y","I","B","F") AND mytextzhi<>""my_html=my_html+CHR(13)+'<td align="right">'+mytextzhi+"</td>"ELSEmy_html=my_html+CHR(13)+'<td>'+mytextzhi+"</td>"ENDIFENDIFENDFORmy_html=my_html+CHR(13)+"</tr>"ENDSCANSELE my_tempwenjianUSEmy_html=my_html+CHR(13)+"</table>"+CHR(13)+"</center>"my_html=my_html+CHR(13)+"</body>"+CHR(13)+"</html>"SELE(my_alias)GO TOPIF !EOF()GO myrecnoENDIF=STRTOFILE(my_html,rtf_name,.F.)ERASE c:\my_tempwenjian.*RELEASE my_htmlIF my_dbfopen=.F. && 数据表未打开,关闭之SELE(my_alias)USEENDIFrtf_name=ALLTRIM(rtf_name)oWord=CREATEOBJECT("Word.application")oDoc=oWord.DocumentsoDoc.OPEN (rtf_name)oWord.SELECTION.WholeStoryoWord.SELECTION.FONT.SIZE = 10oWord.SELECTION.InsertAfter(CHR(13))mydate=SUBST(DTOS(DATE()),1,4)+"年"+SUBST(DTOS(DATE()),5,2)+"月"+SUBST(DTOS(DATE()),7,2)+"日"oWord.SELECTION.InsertAfter("日期: "+mydate)oWord.ActiveDocument.SAVEAS(rtf_name)oWord.ActiveDocument.CLOSEoDoc=oWord.DocumentsoDoc.OPEN (rtf_name)oWord.SELECTION.ParagraphFormat.ALIGNMENT=0&&&(文本左对齐)oWord.SELECTION.InsertAfter(CHR(13))oWord.SELECTION.FONT.SIZE = 20oWord.SELECTION.InsertAfter(my_title)oWord.SELECTION.FONT.SIZE = 12oWord.SELECTION.InsertAfter(CHR(13))oWord.SELECTION.ParagraphFormat.ALIGNMENT=1&&&(文本居中)oWord.ActiveDocument.SAVEAS(rtf_name)oWord.ActiveDocument.CLOSEoDoc=oWord.DocumentsWAIT CLEARoDoc.OPEN (rtf_name)*oWord.ActiveDocument.PrintPreview && 打印预览*oWord.ActiveDocument.Print && 打印oWord.VISIBLE=.T. && 显示 WORD 文档*oWord.ActiveDocument.CLOSE && 关闭 WORD 文档*oWord.QUIT() && 退出 WORD 应用程序*MESSAGEBOX(CHR(13)+"数据已转换为 WORD (RTF) 格式,存放路径: "+CHR(13)+CHR(13)+rtf_name,64,"信息")

猫猫的心里话

加菲猫的VFP|狐友会社群接收投稿啦

加菲猫的VFP,用VFP不局限VFP,用VFP混合一切。无论是VFP,还是JS,还是C,只要能混合起来,都可以发表。

商业模式,销售技巧、需求规划、产品设计的知识通通可以发表。

暂定千字50元红包,,优秀的文章红包更大,一经发表,红包到手。

如何帮助使用VFP的人?

用VFP的人,有专业的,有非专业了,很多人其实是小白,问出的问题是小白,如果问题不对,我们引导他们问正确的问题。无论如何请不要嘲笑他们说帮助都不看,这么简单的问题都不会,嘲笑别人不行,而无法提出建设性答案,是很low的。

我们无论工作需要,还是有自己的软件,都是是需要真正的知识,如何让更多人学习真正的VFP知识呢,只需要点赞,在看,能转发朋友圈就更好了。

加菲猫的vfp倡导用"VFP极简混合开发,少写代码、快速出活,用VFP,但不局限于VFP,各种语言混合开发"

我已经带领一百多名会员成功掌到VFP的黑科技,进入了移动互联网时代,接下来我们要进入物联网领域。

2025年狐友会社群会员继续招募中

社群会员获取的权益有:

祺佑三层开发框架商业版(猫框),终身免费升级,终身技术支持。

开放的录播课程有:

微信小程序,微信公众号开发,H5 APP开发,Extjs BS开发,VFP面向对象进阶,VFP中间层开发。

源码类资源有:

支付组件源码,短信源码,权限组件源码,一些完整系统的源码。这个可以单独出售的,需要的可以联系我。

会员也可以实现群内资源对接,可以接分包,合作等各项商业或技术业务

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/2 22:44:52

李弘扬团队最新!SimScale:显著提升困难场景的端到端仿真框架......

点击下方卡片&#xff0c;关注“自动驾驶之心”公众号戳我-> 领取自动驾驶近30个方向学习路线>>直播和内容获取转到 → 自动驾驶之心知识星球点击按钮预约直播李弘扬老师团队的新工作 - SimScale&#xff0c;中科院、港大OpenDriveLab和小米汽车联合完成。近年来&…

作者头像 李华
网站建设 2026/9/2 22:46:09

物联网边缘计算:轻量级识别模型部署指南

物联网边缘计算&#xff1a;轻量级识别模型部署指南 在智能家居产品中集成物体识别功能时&#xff0c;设备算力往往成为瓶颈。本文将介绍如何在资源受限的边缘设备上&#xff0c;高效部署轻量级识别模型&#xff0c;帮助工程师快速评估不同模型的实际表现。 这类任务通常需要GP…

作者头像 李华
网站建设 2026/9/3 3:38:39

Java新手必看:轻松理解‘不支持发行版本5‘错误

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 开发一个交互式Java版本错误教学工具&#xff0c;针对不支持发行版本5错误&#xff0c;通过问答方式引导新手&#xff1a;1) 理解Java版本概念 2) 检查当前JDK版本 3) 修改项目配置…

作者头像 李华
网站建设 2026/9/3 1:09:03

传统vs现代:AI如何将dll错误排查时间缩短90%

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 设计一个AI驱动的dll错误诊断系统&#xff0c;能够&#xff1a;1. 通过机器学习分析常见的dll错误模式&#xff1b;2. 自动匹配最佳解决方案&#xff1b;3. 提供一键修复功能&…

作者头像 李华
网站建设 2026/8/26 12:37:47

时间片轮转调度与其他RTOS调度算法的核心区别

时间片轮转调度是RTOS针对同优先级任务的补充调度机制&#xff0c;它并非独立的调度体系&#xff0c;而是依赖抢占式调度存在。与抢占式调度、协作式调度、优先级继承调度等主流算法相比&#xff0c;核心差异体现在调度触发条件、优先级作用、适用场景三个维度&#xff0c;下面…

作者头像 李华
网站建设 2026/9/3 0:22:56

用NPX快速搭建项目原型:5分钟搞定

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 开发一个快速原型生成器&#xff0c;用户只需输入项目类型&#xff08;如React、Vue、Node.js等&#xff09;&#xff0c;自动调用相应的NPX命令&#xff08;如npx create-react-a…

作者头像 李华