vfp9.0+sql 存取 EXCEL 表求助
如何把EXCEL表存进SQL的表的IMAGE或者TEXT类型里面,然后可以取出来改写后再存进去
程序代码:* 指定来源文件
LOCAL cFile,cStr,cFileName,cSql
cFile = GETFILE("xls*")
IF EMPTY(cFile)
RETURN
ENDIF
IF !FILE(cFile)
MESSAGEBOX('指定的文件不存在!',48,'提示')
RETURN
ENDIF
* 上传附件,并保存文件名
cStr = FILETOSTR(cFile)
cFileName = JUSTFNAME(cFile)
cSql = 'UPDATE employee SET 附件=?cStr,文件名=?cFileName WHERE id = 287'
IF SQLEXEC(gnHandle,cSql) < 0
MESSAGEBOX('添加附件失败!')
ENDIF
2. 删除数据表中保存的 Excel 文件
程序代码:* 确认删除
IF MESSAGEBOX('是否删除附件?',36+256,'提示') = 7
RETURN
ENDIF
LOCAL cSql
cSql = 'UPDATE employee SET 附件=NULL,文件名=NULL WHERE id = 287'
IF SQLEXEC(gnHandle,cSql) < 0
MESSAGEBOX('删除附件失败!')
ENDIF
3. 下载并打开 Excel 文件
程序代码:* 下载附件到临时文件 cFile
LOCAL cFile,cSql
cSql = 'SELECT 文件名,附件 FROM employee WHERE id = 287'
IF SQLEXEC(gnHandle,cSql,'curTmp') < 0
MESSAGEBOX('下载附件失败!',48,'提示')
RETURN
ENDIF
cFile = ADDBS(SYS(2023)) + ALLT(curTmp.文件名)
= STRTOFILE(curTmp.附件,cFile)
USE IN curTmp
* 打开附件
DECLARE Integer ShellExecute IN "Shell32.dll" Integer hwnd,String lpVerb,String lpFile,String lpPara,String lpDir,Long lpShowCmd
= ShellExecute(0,"open",cFile,"","",1)
