日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Excel的数据导入到PB的DW中

發布時間:2023/12/9 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Excel的数据导入到PB的DW中 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Excel的數據導入到PB的DW中
//====================================================================
// Event:cb_1::clicked()
//--------------------------------------------------------------------
// Description:兩種方法進行
//1、通過數組一行一行讀入(定義數據有點麻煩)
//2、通過剪貼板直接
//網友自行選擇用哪種方法
//--------------------------------------------------------------------
// Arguments:(None)
//--------------------------------------------------------------------
// Returns:
//--------------------------------------------------------------------
// Author:??FlyStone? ?? ???Date: 2008-09-13 17:31:44 Sep
//--------------------------------------------------------------------
// Modify History:
//? ?
//--------------------------------------------------------------------
// Copyright (C) 2007-008 Flystone Co.,Ltd! All rights reserved.
//====================================================================
String ls_path,ls_name
ls_path = "C:\Documents and Settings\Administrator.FLYSTONE\桌面\新建文件夾 (3)\test.xls"
dw_1.Reset() //clean DW
String a[1000,1000]
Integer i,j,li_ret

li_ret = GetFileopenName('選擇XLS',ls_path,ls_name,"XLS","EXCEL (*.XLS),*.XLS")
if li_ret <> 1 then return

OLEObject ExcelServer
Int li_ConnectErr
ExcelServer = Create OLEObject
li_ConnectErr = ExcelServer.ConnectToNewObject( "excel.application" )
If li_ConnectErr < 0 Then
? ? Choose Case li_ConnectErr
? ?? ???Case -1
? ?? ?? ?? ?MessageBox('錯誤提示','無效的調用')
? ?? ???Case -2
? ?? ?? ?? ?MessageBox('錯誤提示','類名沒發現')
? ?? ???Case -3
? ?? ?? ?? ?MessageBox('錯誤提示','對象不能創建')
? ?? ???Case -4
? ?? ?? ?? ?MessageBox('錯誤提示','文件不能連接')
? ?? ???Case -5
? ?? ?? ?? ?MessageBox('錯誤提示','不能連接現在的對象')
? ?? ???Case -6
? ?? ?? ?? ?MessageBox('錯誤提示','文件無效')
? ?? ???Case -7
? ?? ?? ?? ?MessageBox("錯誤提示","文件不存在或已經打開")
? ?? ???Case -8
? ?? ?? ?? ?MessageBox("錯誤提示","服務器不能裝載選擇的文件")
? ?? ???Case -9
? ?? ?? ?? ?MessageBox("錯誤提示","其他錯誤")
? ? End Choose
? ? Return
End If

ExcelServer.Workbooks.Open(ls_path,0,False)
//對XLS文件進行了改動以后,在關閉該文件時是否需要向用戶提出警告:剪貼板提示信息。

ExcelServer.Application.DisplayAlerts = False
//選擇sheets表
//ExcelServer.activeworkbook.worksheets("sheet2").Select()??
//方法一:
Int li_rows,li_columns
li_rows = ExcelServer.ActiveSheet.UsedRange.Rows.Count //取得總行數
li_columns= ExcelServer.ActiveSheet.UsedRange.columns.Count //取得總行數
// # of columns in excel
sle_2.Text = TRIM(STRING(li_rows))
// # of rows in excel
sle_1.Text = STRING(li_columns)
//lole_sheet = ole_1.Application.ActiveWorkbook.WorkSheets[1] //得到第當前work的第一個sheet
for i = 1 to li_rows
? ???dw_1.insertrow(0)
? ???for j = 1 to li_columns
? ?? ?? ? a[i,j] = string(ExcelServer.ActiveSheet.Cells(i,j).value)
? ?? ?? ? dw_1.Setitem(i,j,a[i,j])
? ???end for
end for

//方法二,利用剪貼板
ExcelServer.ActiveSheet.cells.Copy
dw_1.ImportClipboard(2) //導入數據需要標題? ?
ExcelServer.Application.activeworkbook.Close(False)
ExcelServer.Application.quit()

ExcelServer.DisconnectObject()



-----------------------------------------------------------------------

global type gf_import_excel from function_object
end type

forward prototypes
global subroutine gf_import_excel (datawindow idw_dw)
end prototypes

global subroutine gf_import_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)? //ls_rj是文件的路徑
? ObjExcel.ActiveSheet.Cells.Copy
? ObjExcel.Application.Visible = false
? idw_dw.SetTransObject(SQLCA)
? idw_dw.ImportClipboard(2)???? //將系統剪切版上的內容粘貼到數據窗口中,其中2為起始行參數
? Clipboard("")??????????????? //請空剪切版上的內容
? ObjExcel.Quit()
? ObjExcel.DisconnectObject()??? //斷開與OLE的連接
? Destroy ObjExcel
?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


總結

以上是生活随笔為你收集整理的Excel的数据导入到PB的DW中的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。