CSDN博客

img yeqiufeng

如何在PB和ASP中读取EXCEL电子表格的数据(收藏)

发表于2004/12/31 10:36:00  2170人阅读

如何在PB和ASP中读取EXCEL电子表格的数据

杨继春 仵丁丑

西安市505信箱14

POWER BUILDER中,虽然在ODBC设置中提供了与EXCEL电子表格的接口,但是由于EXCEL的结构比较特殊,因此,如果按一般的数据库连接方法,则在读取数据时会出现“SYNTAX ERROR FROM CLAUSE”的错误,究其原因,是由于电子表格中左下角的SHEET1、SHEET2、SHEET3并不是真正意义上的表名,因而在数据传输时会出现找不到表名的错误,为了在PB中读取电子表格的数据,我们需要作如下处理:

假设有一个EXCEL电子表格,名为MYDATA.XLS,打开该电子表格,选定所需要的行与列,然后按菜单上的插入/名称/定义,弹出一个定义名称的对话框,我们在其中给所选的数据定义一个表名,如WORK,在该对话框的下端的引用位置中,有这样一句话“=SHEET1!$A$1:$C$22”,意思为该表名所定义的行列为SHEET1中的第一列第一行到第三列第22行,如想选择所有行,只需将其改为“=SHEET1!$A:$C”即可。然后按确定,这样我们就给所选定的行列定义好了名称。接着我们在PB的面板中连接该数据库,从中选择刚才定义的表,即可读出EXCEL电子表格中的数据了。若需要在程序中动态读取,只需在程序中加入下列语句:

SQLCA.DBMS=PROFILESTRING("PB.INI","DATABASE","DBMS","")

SQLCA.DATABASE=PROFILESTRING("PB.INI","DATABASE","DATABASE","")

SQLCA.DBPARM=PROFILESTRING("PB.INI","DATABASE","DBPARM","")

CONNECT USING SQLCA;

IF SQLCA.SQLCode<0 THEN

        MESSAGEBOX("错误信息","连接数据库失败!")

RETURN

END IF

然后再SELECT * FROM WORK即可。

ASP中读取EXCEL电子表格中的数据的方法,和PB中读取的方法基本相同,只需将读取数据库的程序改为下列语句即可。

SET CONN=SERVER.CREATOBJECT("ADODB.CONNECTION")

CONN.OPEN "MYDATA"

SET CONNSTR=SERVER.CREATOBJECT("ADODB.RECORDSET")

CONNSTR.SOURCE="SELECT * FROM WORK"

CONNSTR.OPEN

0 0

相关博文

我的热门文章

img
取 消
img