首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > PB >

关于直接导入数据到数据库中,该怎么处理

2013-01-04 
关于直接导入数据到数据库中想做以下功能:将excel表里某个sheet的数据批量导入到access数据库的某个表里面

关于直接导入数据到数据库中
想做以下功能:
将excel表里某个sheet的数据批量导入到access数据库的某个表里面,数据结构一致的,怎么实现?


[解决办法]
下面代码存为f_excel.srf导入到你的PBL里

参数:需要导入EXCEL数据的数据窗口名 

$PBExportHeader$f_excel.srf
global type f_excel from function_object
end type

forward prototypes
global subroutine f_excel (datawindow idw_dw)
end prototypes

global subroutine f_excel (datawindow idw_dw);string path,filename
integer value,result

value = GetFileOpenName("Select File",path,filename,"xls","xls Files (*.xls),*.xls,Text Files (*.TXT),*.TXT,DBF Files (*.DBF),*.DBF")
if value<>1 then return
if right(path,3)='xls' or right(path,3)='XLS' then 
 OLEObject ObjExcel
 ObjExcel = CREATE OLEObject
 result = ObjExcel.ConnectToNewObject( "excel.application")
 if result <> 0 then 
  messagebox("信息提示","连接EXCEL失败,请检查计算机中是否安装了EXCEL!") 
  Return  
 else
  ObjExcel.Workbooks.Open(path)   
  string ls_copy
  int i
 if ObjExcel.ActiveSheet.Cells.Copy = true then 
  ObjExcel.Application.Visible = false
  idw_dw.SetTransObject(SQLCA)
  i =  idw_dw.ImportClipboard(2)     //将系统剪切版上的内容粘贴到数据窗口中,其中2为起始行参数
  Clipboard("")                //清空剪切版上的内容
  ObjExcel.Quit()
  ObjExcel.DisconnectObject()    //断开与OLE的连接
  Destroy ObjExcel 
      else
  messagebox("提示","您的EXCEL不支持此功能,请检查EXCEL版本,建议使用OFFICE-EXCEL")
 end if
end if 
elseif right(path,3)='txt' or right(path,3)='TXT' then
 idw_dw.importfile(path,2)
elseif right(path,3)='dbf' or right(path,3)='DBF' then
 idw_dw.importfile(path,1)
end if

end subroutine


[解决办法]
在ObjExcel.Workbooks.Open(path)后面加上:

ObjExcel.activeworkbook.sheets("sheet2").select

选择指定的sheet

热点排行