详细在我的资源中,欢迎下载。
http://download.youkuaiyun.com/user/happyflystone
- //====================================================================
- //Event:cb_1::clicked()
- //--------------------------------------------------------------------
- //Description:两种方法进行
- //1、通过数组一行一行读入(定义数据有点麻烦)
- //2、通过剪贴板直接
- //网友自行选择用哪种方法
- //--------------------------------------------------------------------
- //Arguments:(None)
- //--------------------------------------------------------------------
- //Returns:
- //--------------------------------------------------------------------
- //Author:FlyStoneDate:2008-09-1317:31:44Sep
- //--------------------------------------------------------------------
- //ModifyHistory:
- //
- //--------------------------------------------------------------------
- //Copyright(C)2007-008FlystoneCo.,Ltd!Allrightsreserved.
- //====================================================================
- Stringls_path,ls_name
- ls_path="C:\DocumentsandSettings\Administrator.FLYSTONE\桌面\新建文件夹(3)\test.xls"
- dw_1.Reset()//cleanDW
- Stringa[1000,1000]
- Integeri,j,li_ret
- li_ret=GetFileopenName('选择XLS',ls_path,ls_name,"XLS","EXCEL(*.XLS),*.XLS")
- ifli_ret<>1thenreturn
- OLEObjectExcelServer
- Intli_ConnectErr
- ExcelServer=CreateOLEObject
- li_ConnectErr=ExcelServer.ConnectToNewObject("excel.application")
- Ifli_ConnectErr<0Then
- ChooseCaseli_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("错误提示","其他错误")
- EndChoose
- Return
- EndIf
- ExcelServer.Workbooks.Open(ls_path,0,False)
- //对XLS文件进行了改动以后,在关闭该文件时是否需要向用户提出警告。
- ExcelServer.Application.DisplayAlerts=False
- //选择sheets表
- //ExcelServer.activeworkbook.worksheets("sheet2").Select()
- //方法一:
- Intli_rows,li_columns
- li_rows=ExcelServer.ActiveSheet.UsedRange.Rows.Count//取得总行数
- li_columns=ExcelServer.ActiveSheet.UsedRange.columns.Count//取得总行数
- //#ofcolumnsinexcel
- sle_2.Text=TRIM(STRING(li_rows))
- //#ofrowsinexcel
- sle_1.Text=STRING(li_columns)
- //lole_sheet=ole_1.Application.ActiveWorkbook.WorkSheets[1]//得到第当前work的第一个sheet
- fori=1toli_rows
- dw_1.insertrow(0)
- forj=1toli_columns
- a[i,j]=string(ExcelServer.ActiveSheet.Cells(i,j).value)
- dw_1.Setitem(i,j,a[i,j])
- endfor
- endfor
- //方法二,利用剪贴板
- ExcelServer.ActiveSheet.cells.Copy
- dw_1.ImportClipboard(2)//导入数据需要标题
- ExcelServer.Application.activeworkbook.Close(False)
- ExcelServer.Application.quit()
- ExcelServer.DisconnectObject()