这里有些参考资料,是 *** 纵EXCEL的,对你会有帮助:
http://www.ccrun.com/article.asp?i=529&d=0iezy5
================================
一个另类的方法,用企业管理器建立一个导入EXCEL的DTS包,然后建立一个批处理,通过DTSRUN执行导入 *** 作,批处理内容如下:
@@echo
off
if
[%1]
==
[]
goto
Usage
if
[%2]
==
[]
goto
Usage
if
[%3]
==
[]
goto
Usage
cls
SET
LOGFILE=%2
echo
%TIME%
DTS包开始执行.........
>>
%LOGFILE%
echo
------------------------------------------
>>
%LOGFILE%
@dtsrun
/F
%1
/N
%3
>>
%2
if
errorlevel
1
goto
Error
echo
%TIME%
DTS包执行完毕.........
>>
%LOGFILE%
echo
------------------------------------------
>>
%LOGFILE%
PAUSE
goto
FINISH
:Error
echo
------------------------------------------
>>
%LOGFILE%
echo
DTS包执行错误,请查看日志
.........
echo
%TIME%
DTS包执行错误.
>>
%LOGFILE%
pause
goto
FINISH
:Usage
echo.
echo
用法:通过程序调用,缺少参数
:FINISH
注意dtsrun可以有多个参数,这里的三个参数指DTS文件,包名称和日志文件
最后在BCB里调用这个批处理程序即可。
想在form中嵌入excel,待用户对当前sheet粘贴完数据后进行读取。用那种方式好,form中嵌入sheet要比让用户直接打开一个excel文件再进行读取直观一些吧。
有例子更好。 suntonycomm@msn.com
回复人:suntonycomm(太阳花) ( ) 信誉:98 2006-6-20 13:35:50 得分:0
?
up
Top
回复人:lurel(城市陌生人) ( ) 信誉:93 2006-6-21 11:04:37 得分:25
?
利用OLEContainer来做
Top
回复人:suntonycomm(太阳花) ( ) 信誉:98 2006-6-21 13:59:39 得分:0
?
楼上的,再说的具体些,以前没用过。
Top
回复人:suntonycomm(太阳花) ( ) 信誉:98 2006-6-22 12:23:24 得分:0
?
OLEContainer 可以进行嵌入,但如何读取单元格的值呢?
Top
回复人:zwh202342(little grass) ( ) 信誉:100 2006-6-24 10:32:29 得分:25
?
在www.ccrun.com这个网站中有有应用的例子,呵呵!
Top
该问题已经结贴 ,得分记录: lurel (25)、 zwh202342 (25)、
一、可以存图片的相对地址到数据库中(如:\pic\A10020.jpg),显示的时候将列的display as picture属性勾选上。这种方法显示的时候查询数据会快些。
二、将图片数据存入数据库中,如果存入数据库中,很快会让你的数据库增大,所以要尽量控制图片的大小,存和读取的方法在下面都有。
1、选择图片
string ls_pathname, ls_filename
integer li_value
li_value = GetFileOpenName("选择照片", &
+ ls_pathname, ls_filename, "图片文件","jpg File (*.jpg),*.jpg,bmp file(*.bmp),*.bmp,gif file(*.gif),*.gif")
IF li_value = 1 THEN
P_1.picturename=ls_pathname
Elseif li_value=-1 then
MessageBox("选择照片","打开文件错误!")
End If
2、获取图片的二进制数据
//处理照片文件数据开始
string ls_photofile
integer li_filenum
integer li_loops
integer li_counter
blob lb_picture
long ll_filelen
blob ll_read
ls_photofile=p_1.picturename
ll_filelen=filelength(ls_photofile)
li_filenum=fileopen(ls_photofile,streammode!,read!,lockread!)
//*fileread()函数不支持读取大于32k的文本,计算将使用fileread函数的次数 */
if ll_filelen>32765 then
li_loops=((ll_filelen - 1)/32765)+1
else
li_loops=1
end if
//读文件
for li_counter=1 to li_loops
fileread(li_filenum,ll_read)
lb_picture=lb_picture+ll_read
next
fileclose(li_filenum)
//显示图片
p_1.setpicture(lb_picture)
//处理照片文件结束
3、存入数据库
//存照片入数据库
updateblob t_teacher set pic=:lb_picture where code = :ls_code
if sqlca.sqlcode<>0 then
messagebox("系统提示","更新数据错误",stopsign!,ok!)
return
end if
4、显示图片
blob lb_pic
string ls_code
ls_code="01007"
selectblob pic into :lb_pic from t_teacher where code=:ls_code
if sqlca.sqlcode<>0 then
messagebox("系统提示","载入数据错误",stopsign!,ok!)
return
end if
setpicture(p_1,lb_pic)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)