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中相关推荐

  1. 如何将TXT,EXCEL或CSV数据导入ORACLE到对应表中

    如何将TXT,EXCEL或CSV数据导入ORACLE到对应表中 2011-05-12 14:19 方法一,使用SQL*Loader      这个是用的较多的方法,前提必须oracle数据中目的表已经 ...

  2. python导入excel表格-Python 将Excel表格数据导入MySQL数据库

    今天分享一个刚刚完成的Python脚本,一个实用的小技能,就是利用Python代码,将EXCEL表格数据导入到MySQL数据库中!话不多说,下面代码示例. Excel表格数据.jpg 1示例代码: i ...

  3. 将excel的数据导入到mysql数据表

    1.下载地址(excel版):链接:http://pan.baidu.com/s/1eSFUnwY 密码:qvp1 2.将excel的数据导入到数据库中: 工具:mysql ,Navicat for ...

  4. SQL SERVER 与ACCESS、EXCEL的数据导入导出转换

    * 说明:复制表(只复制结构,源表名:a 新表名:b)       select * into b from a where 1<>1 * 说明:拷贝表(拷贝数据,源表名:a 目标表名:b ...

  5. PL/SQL Developer将Excel表格数据导入表格

    说明,在将excel表格数据导入之前,需要创建一个对应的表. 一.打开PL/SQL Developer之后,选择tools(工具)---ODBC Imoprter(ODBC导入器) 二.选择导入文件的 ...

  6. [导入][转]精妙的SQL和SQL SERVER 与ACCESS、EXCEL的数据导入导出转换

    * 说明:复制表(只复制结构,源表名:a 新表名:b)       select * into b from a where 1<>1 * 说明:拷贝表(拷贝数据,源表名:a 目标表名:b ...

  7. SQL SERVER 和ACCESS/excel的数据导入导出

    SQL SERVER 和ACCESS/excel的数据导入导出 常规的数据导入导出: 使用DTS向导迁移你的Access数据到SQL Server,你可以使用这些步骤: 1)在SQL SERVER企业 ...

  8. Excel表格数据导入

    开发工具与关键技术:vs2015 MVC 作者:陈星宇 撰写时间:2019.5.1 当我们学会新增时,都是一条一条数据的新增,当我们需要大量的数据时,我们不妨增加点新东西那就是导入功能,我们来讲一讲关 ...

  9. 用ado把excel数据写入oracle,如何将excel表格数据导入到oracle数据库对应的表中?!oracle导出excel文件...

    如何把excel里的表导入到oracle里 使用第三方工具吧,toad之类的 一个excel表格中有多个sheet,如何将其导入oracle数据库 户和要用DBA 最简单得建用户: create us ...

  10. matlab提取数据画图,matlab提取excel表格数据画图-如何将Excel中的数据导入MATLAB并在MATLAB中画出图......

    在matlab上如何导入excel表格然后画图 工具:matlab 2018b 1.打开matlab,点击主页下面导入数据,可以导入excel数据,在此将自己命名的huitushuju文件导入: 2. ...

最新文章

  1. python自学步骤-学习Python最正确的步骤(0基础必备)
  2. 115.什么是SHELL
  3. eclipse php uml,Eclipse UML插件Amateras UML及GEF安装与用法
  4. 有人在代码里下毒!慎用 pip install 命令
  5. Linux 之目录 -鸟哥的Linux私房菜
  6. fastapi学习(一):输出hello world与基本运行方法
  7. 局域网网速太慢的问题
  8. iOS 代码命名规范 及Android 代码命名规范(2)Android
  9. 大公司还是小公司[zz]
  10. 计算机系统新手入门,电脑初学者入门教程
  11. web技术分享| WebRTC 实现屏幕共享
  12. 大数据读书——《淘宝技术这十年》读书笔记
  13. 说说橡胶软接头安装的误区
  14. android跑马灯效果横向,Android TextView 横向滚动(跑马灯效果)
  15. 计算机通识必修课程学什么内容,计算机通识课程教学平台研究与探索.doc
  16. python之动态性
  17. 南阳理工学院计算机科学与技术分数线,2017南阳理工计算机科学与技术分数
  18. 5W字穿透 ELK(史上最全):elasticsearch +logstash+kibana
  19. java计算抛物线的标准方程_抛物线及其标准方程
  20. C++ - PAT- L1-030. 一帮一(天梯赛决赛题目)

热门文章

  1. 国家制图标准适用于手工制图和计算机制图,机械制图国家标准与计算机绘图
  2. linux系统iso文件详解,ISO镜像文件解析
  3. [sql面试经验] 经典sql面试题及答案第2期
  4. 大学四年,我把私藏的自学「学习网站/实用工具」都贡献出来了
  5. quartz定时器corn表达式
  6. 比Everything、listary、DocFetcher还好用的桌面文档搜索软件 - bbdoc
  7. linux虚拟机rzsz安装(wget方法,自测可用)
  8. 如何安装.nupkg文件
  9. 关于imx8mp的es8316的芯片调试
  10. pdf嵌入字体(不用adobe pdf打印机)