1.在EXCEL中选定所有工作表,删除前4行(表头)和最后一行(合计行)(每张表行数一样。请教:如果各张工作表行数不一,怎样删除最后一行?)
只要工作表中数据规范,不需要删除前4行及最后的合计行,导入数据时,程序会帮你处理的2.在EXCEL中选定所有工作表,在第一列前插入一列(用以填写工作表标签来区别各工作表中数据)。请问:怎样将工作表标签填写在插入一列?例如怎样自动将第二张工作表标签Shift2填写在第二张工作表的第一列的各行中。
只要记住工作表中的顺序号就行了,程序会帮你处理下面是我处理的同一工作簿中多工作表数据导出的代码
程序代码: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工作簿:

坚守VFP最后的阵地



