各位網友:
我剛剛開始接觸PB, 現在想通過PB編程的方式從EXCEL檔案中匯入資料到資料庫. 通過網上去查找了一下, 找到以下代碼:
string str_savename,named,s_grxh
int excelok,li_net
long li_count,i
oleobject excelserver
excelserver=create oleobject
excelok=excelserver.connecttonewobject("excel.application")
//檢查回傳值,以確保已成功地連接到了Excel
if excelok <> 0 then
messagebox("資訊提示","連接EXCEL失敗,請檢查計算機中是否安裝了EXCEL!")
return -1
end if
li_net = GetFileOpenName("選擇檔案", str_savename,named,"xls","Excel檔案(*.xls),*.xls")
if li_net > 0 then
if str_savename = "" then return -1
dw_grid.settransobject(sqlca)
dw_grid.reset()
excelserver.workbooks.open(str_savename)
excelserver.activesheet.cells.copy
li_count = dw_grid.importclipboard() //匯入資料
clipboard("")
fileclose(li_net)
excelserver.quit()
excelserver.disconnectobject()
destroy excelserver
return 1
else
messagebox('資訊提示','沒有指定匯入檔案!')
return -1
end if
首先上述代碼可以用嗎?
其次,在上述代碼中,用到一個資料視窗: dw_grid ,但并沒有具體說明如何設定這個DataWindows(資料視窗)呀. 這個資料視窗該用哪種資料源呢? 匯入后, 又該如何保存到資料庫呢?
各位能否給點建議呢?
非常感謝!
uj5u.com熱心網友回復:
1.簡單看了一下代碼,應該是可行的,復制資料到剪切板,然后再從剪切板里匯入資料視窗2.資料視窗采用grid格式應該行,資料源采用sqlselect,把excel里的欄位和你的資料視窗里的欄位順序對應好(不是顯示的順序,是sql的順序),匯入資料成功后,呼叫dw_1.update()就可以保存到資料庫里了
uj5u.com熱心網友回復:
可以用,但有要求,必須是沒有標題行的excel才行uj5u.com熱心網友回復:
如果里面有下拉視窗,顯示和儲存不一樣,匯入時要匯入顯示值還是儲存值?uj5u.com熱心網友回復:
我現在正在做同樣的事。但以我的嘗試,這excel匯入datawindow的要求挺嚴格的,你這excel里不能出現除了資料行以外的東西,比如,檔案頭資訊啥的,如不能滿足要求,最好還是按行、按位元組讀取靠譜。哎,很麻煩的轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/26414.html
標籤:基礎類
上一篇:pb匯出excel2007的方法
