Excel的数据导入到PB的DW中

详细在我的资源中,欢迎下载。
http://download.csdn.net/user/happyflystone
  1. //====================================================================
  2. //Event:cb_1::clicked()
  3. //--------------------------------------------------------------------
  4. //Description:两种方法进行
  5. //1、通过数组一行一行读入(定义数据有点麻烦)
  6. //2、通过剪贴板直接
  7. //网友自行选择用哪种方法
  8. //--------------------------------------------------------------------
  9. //Arguments:(None)
  10. //--------------------------------------------------------------------
  11. //Returns:
  12. //--------------------------------------------------------------------
  13. //Author:FlyStoneDate:2008-09-1317:31:44Sep
  14. //--------------------------------------------------------------------
  15. //ModifyHistory:
  16. //
  17. //--------------------------------------------------------------------
  18. //Copyright(C)2007-008FlystoneCo.,Ltd!Allrightsreserved.
  19. //====================================================================
  20. Stringls_path,ls_name
  21. ls_path="C:\DocumentsandSettings\Administrator.FLYSTONE\桌面\新建文件夹(3)\test.xls"
  22. dw_1.Reset()//cleanDW
  23. Stringa[1000,1000]
  24. Integeri,j,li_ret
  25. li_ret=GetFileopenName('选择XLS',ls_path,ls_name,"XLS","EXCEL(*.XLS),*.XLS")
  26. ifli_ret<>1thenreturn
  27. OLEObjectExcelServer
  28. Intli_ConnectErr
  29. ExcelServer=CreateOLEObject
  30. li_ConnectErr=ExcelServer.ConnectToNewObject("excel.application")
  31. Ifli_ConnectErr<0Then
  32. ChooseCaseli_ConnectErr
  33. Case-1
  34. MessageBox('错误提示','无效的调用')
  35. Case-2
  36. MessageBox('错误提示','类名没发现')
  37. Case-3
  38. MessageBox('错误提示','对象不能创建')
  39. Case-4
  40. MessageBox('错误提示','文件不能连接')
  41. Case-5
  42. MessageBox('错误提示','不能连接现在的对象')
  43. Case-6
  44. MessageBox('错误提示','文件无效')
  45. Case-7
  46. MessageBox("错误提示","文件不存在或已经打开")
  47. Case-8
  48. MessageBox("错误提示","服务器不能装载选择的文件")
  49. Case-9
  50. MessageBox("错误提示","其他错误")
  51. EndChoose
  52. Return
  53. EndIf
  54. ExcelServer.Workbooks.Open(ls_path,0,False)
  55. //对XLS文件进行了改动以后,在关闭该文件时是否需要向用户提出警告。
  56. ExcelServer.Application.DisplayAlerts=False
  57. //选择sheets表
  58. //ExcelServer.activeworkbook.worksheets("sheet2").Select()
  59. //方法一:
  60. Intli_rows,li_columns
  61. li_rows=ExcelServer.ActiveSheet.UsedRange.Rows.Count//取得总行数
  62. li_columns=ExcelServer.ActiveSheet.UsedRange.columns.Count//取得总行数
  63. //#ofcolumnsinexcel
  64. sle_2.Text=TRIM(STRING(li_rows))
  65. //#ofrowsinexcel
  66. sle_1.Text=STRING(li_columns)
  67. //lole_sheet=ole_1.Application.ActiveWorkbook.WorkSheets[1]//得到第当前work的第一个sheet
  68. fori=1toli_rows
  69. dw_1.insertrow(0)
  70. forj=1toli_columns
  71. a[i,j]=string(ExcelServer.ActiveSheet.Cells(i,j).value)
  72. dw_1.Setitem(i,j,a[i,j])
  73. endfor
  74. endfor
  75. //方法二,利用剪贴板
  76. ExcelServer.ActiveSheet.cells.Copy
  77. dw_1.ImportClipboard(2)//导入数据需要标题
  78. ExcelServer.Application.activeworkbook.Close(False)
  79. ExcelServer.Application.quit()
  80. ExcelServer.DisconnectObject()

你可能感兴趣的:(C++,c,C#,Excel,J#)