回 帖 发 新 帖 刷新版面

主题:[原创]从当前任意dbf-table 到 xl-table的实现过程

请版主请此贴清理掉!有孽障在哭丧,没法呆了[em20]

回复列表 (共119个回复)

41 楼

我用VFP编了一个看图(照)片的程序,可以任意放大或缩小图片,可以用鼠标拖动放大了的图片以看清图片上的各个细节,但就是速度慢,尤其是放大后的拖动.我分析其原因不在代码的优劣,而在于VFP编这样的程序是否合适.说白了就是VFP本身的原因.
同样,从VFP到EXCEL表的转换,涉及到两个不同的系统平台,所以速度不高,原因也不在于代码.好在EXCEL有直接读取VFP表的功能,你只要将你想转移的表直接在EXCEL中读取,然后转存为EXCEL表即可.我的程序是配合查询工作使用的.查询出来的数据一般不大,多不过几十条,数百条记录.当得到查询表后,点击转换菜单,在几秒钟之内就会得到EXCEL数据,然后又几秒钟就能从打印机中得到纸质文档.非常方便!

42 楼


看了你的<从当前工作区中打开的任意dbf-table或cursor 到 xl-table的实现过程>的文章并用这个程序改进了我的相关程序,谢谢.
再请教一下如何控制excel 表的列宽?
另外您以前发了从EXCEL表到VFP表的实现过程的文章在哪里?

43 楼

EXCEL表的列宽在EXCEL环境下是最容易操作的,所以没有必要VFP代码控制它.

44 楼

高老师,您好!
    今天我才拜读了您编写的转换程序,非常好用。
    但是,我想请问:日期时间型数据在EXCEL里就成了#######,这种情况如何处理呢?谢谢!

45 楼

老张您好!
    你的贴子看到了,现在比较忙,得空了我会把解决方案告诉你,请继续留意本贴!
另外,还发现了个问题,如果VFP表中为字符型"3-4"时,转过去后会"3月4日"也是很讨厌的事.我正在探索解决办法.
突然想起一种办法,你不妨一试:

Sheet.Cells[nRows,i] = iif(empty(&fieldname),'',iif(type(fieldname)="C",alltrim(&fieldname),&fieldname)) 
一句改为:
Sheet.Cells[nRows,i] = iif(empty(&fieldname),'',iif(type(fieldname)="C",alltrim(&fieldname),iif(type(fieldname)="D",dtos(&fieldname),&fieldname))) 

46 楼

高老师,您好!
    我将
Sheet.Cells[nRows,i] = iif(empty(&fieldname),'',iif(type(fieldname)="C",alltrim(&fieldname),&fieldname)) 
一句改为:
Sheet.Cells[nRows,i] = iif(empty(&fieldname),'',iif(type(fieldname)="C",alltrim(&fieldname),iif(type(fieldname)="D",dtos(&fieldname),&fieldname))) 
   还暂时没有解决此问题。
   但是不急,我又不急用,只是学学方法而已。
   谢谢!

47 楼


高老师,您好!
    我将
Sheet.Cells[nRows,i] = iif(empty(&fieldname),'',iif(type(fieldname)="C",alltrim(&fieldname),&fieldname)) 
一句改为:
Sheet.Cells[nRows,i] = iif(empty(&fieldname),'',iif(type(fieldname)="C",alltrim(&fieldname),iif(type(fieldname)="D",dtos(&fieldname),&fieldname))) 后,
   此问题已经解决(将日期时间型的那列拉宽即可,先前没将列拉宽,所以仍显#####,拉宽后日期时间都显示出来了。这个方法是0901chang老师在贴子上告诉的)。
      谢谢!

48 楼

那么,如果不改那一句行不行?

49 楼

[size=5][color=FF0000]高老师:[/color][/size]    

[color=0000FF][size=4]不改那一句,一样可以运行。出现######的原因仍是我先前不懂方法。

现在只要把列宽拉宽就没问题了。都是我的粗心让您又多费心了,实在对不起!


    感谢您编的这么好的程序![/color][/size]

50 楼

看来42楼的要求还是有必要的.

我来回复

您尚未登录,请登录后再回复。点此登录或注册