以下是引用sdta在2014-3-20 11:44:52的发言:
只要工作表中数据规范,不需要删除前4行及最后的合计行,导入数据时,程序会帮你处理的只要记住工作表中的顺序号就行了,程序会帮你处理
下面是我处理的同一工作簿中多工作表数据导出的代码CZDM=[]
FOR ii=1 TO 24
CZDM=CZDM+CHR(64+iI)+[ V(200)]+IIF(Ii<24,[,],[])
* CZDM=CZDM+[A]+PADL(ii,2,[0])+[ V(200)]+IIF(ii<24,[,],[])
ENDFOR
CREATE CURSOR MXBYY (&CZDM,BH C(2))
EOLE=CREATEOBJECT('EXCEL.APPLICATION')
EOLE.WORKBOOKS.OPEN("D:\SL\EXCEL\慢性病用药范围.XLS")
*EOLE.VISIBLE=.T.
*当前工作薄中工作表总数
NCOUNT=EOLE.WORKSHEETS.COUNT
*----读取EXCEL文件的各个工作表名称及有数据的行数与列数
FOR Ii=1 TO NCOUNT
WORKNAME=eole.sheets(Ii).name
LCBH=PADL(CHRTRANC(WORKNAME,CHRTRANC(WORKNAME,[0123456789],[]),[]),2,[0]) && 工作表名称
eole.Worksheets(iI).Activate
LNROW=EOLE.SHEETS(iI).USEDRANGE.ROWS.COUNT && 有数据的行数
LNCOL=EOLE.SHEETS(Ii).USEDRANGE.COLUMNS.COUNT && 有数据的列数
DIMENSION laxls(lnrow,lncol)
laxls = EOLE.activesheet.usedrange.value
CREATE CURSOR TEMP (&CZDM)
INSERT INTO TEMP FROM ARRAY LAXLS
INSERT INTO MXBYY SELECT *,&LCBH FROM TEMP WHERE RECNO()>1
ENDFOR
EOLE.QUIT && 退出EXCEL
RELEASE EOLE
SELECT MXBYY
BROWSE工作簿:
谢谢!
在excel中用宏处理后再导入dbf表也比较快。