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:  FlyStone        Date: 2008-09-13 17:31:44 Sep
  14. //--------------------------------------------------------------------
  15. // Modify History:
  16. //  
  17. //--------------------------------------------------------------------
  18. // Copyright (C) 2007-008 Flystone Co.,Ltd! All rights reserved.
  19. //====================================================================
  20. String ls_path,ls_name
  21. ls_path = "C:/Documents and Settings/Administrator.FLYSTONE/桌面/新建文件夹 (3)/test.xls"
  22. dw_1.Reset() //clean DW
  23. String a[1000,1000]
  24. Integer i,j,li_ret
  25. li_ret = GetFileopenName('选择XLS',ls_path,ls_name,"XLS","EXCEL (*.XLS),*.XLS")
  26. if li_ret <> 1 then return
  27. OLEObject ExcelServer
  28. Int li_ConnectErr
  29. ExcelServer = Create OLEObject
  30. li_ConnectErr = ExcelServer.ConnectToNewObject( "excel.application" )
  31. If li_ConnectErr < 0 Then
  32.     Choose Case li_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.     End Choose
  52.     Return
  53. End If
  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. Int li_rows,li_columns
  61. li_rows = ExcelServer.ActiveSheet.UsedRange.Rows.Count //取得总行数
  62. li_columns= ExcelServer.ActiveSheet.UsedRange.columns.Count //取得总行数
  63. // # of columns in excel
  64. sle_2.Text = TRIM(STRING(li_rows))
  65. // # of rows in excel
  66. sle_1.Text = STRING(li_columns)
  67. //lole_sheet = ole_1.Application.ActiveWorkbook.WorkSheets[1] //得到第当前work的第一个sheet
  68. for i = 1 to li_rows
  69.      dw_1.insertrow(0)
  70.      for j = 1 to li_columns
  71.           a[i,j] = string(ExcelServer.ActiveSheet.Cells(i,j).value)
  72.           dw_1.Setitem(i,j,a[i,j])
  73.      end for
  74. end for
  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,String,Excel,服务器,Path)