以下是引用sdta在2014-7-31 14:03:29的发言:
这个EXCEL表不是规则表,表中的数据不是全部提取。
这个EXCEL表不是规则表,表中的数据不是全部提取。
那是你没想到办法,呵呵。

授人以渔,不授人以鱼。
2014-08-01 02:59

2014-08-01 15:25

2014-08-01 15:38
2014-08-01 15:49
程序代码: CREATE TABLE wjmk( fname c(30))
aa=ADIR(mm,'个人信息采集表*.xls')
FOR nn=1 to aa
APPEND BLANK
REPLACE fname with mm(nn,1)
ENDFOR
SELECT wjmk
GO top
thisform.grid2.RecordSource =''
thisform.grid2.ColumnCount =-1
thisform.grid2.RecordSourceType = 1
thisform.grid2.RecordSource ='wjmk'
Thisform.Refresh
RETURN 第二个按钮的代码
程序代码:thisform.grid1.Visible = .F.
thisform.Refresh
*-----------------------------------------------------
SELECT wjmk
GO top
SCAN
M_File=ALLTRIM(fname) &&&GETFILE('xls','录用名单文件')
IF USED('bmk')
SELECT bmk
ELSE
SELECT 0
USE grxxk alia bmk
ENDIF
IF EMPTY(M_File)
MESSAGEBOX("请选择待导入的EXCEL文档!",0+48,"提示")
RETURN
ELSE
IF !JUSTEXT(M_FILE)$"XLS.xlsx" &&获得文件扩展名(JUSTEXT(M_FILE)#"XLS.xlsx")
=MESSAGEBOX("您选择的不是EXCEL文档!",0+48,"提示")
RETURN
ENDIF
ENDIF
myexcel=createobject('excel.application') && 创建一个对象
IF !VARTYPE(myexcel)$"Oo" &&& 如果用户的电脑上未装EXCEL软件,则结束运行。
MESSAGEBOX("建立EXCEL文件失败,请检查OFFICE是否正常!",48,"提醒:")
RETURN
ENDIF
myexcel.visible=.F. && 对象不可见
bookexcel=myexcel.workbooks.open(mypath+M_File) && 打开指定文件
*o_SheetName=myexcel.application.ActiveSheet.Name && 获取当前激活工作表的名称
*o_UsedRange =bookexcel.worksheets(o_SheetName).UsedRange && 返回工作表中可使用的区域,UsedRange表的属性
*o_rows=o_UsedRange.rows.count && 汇总行
*o_cols=o_UsedRange.columns.count && 汇总列
LOCAL m1,m2,m3,m4,m5,m6,m7,m8,m9,m10,m11,m12,m13,m14,m15,m16,m17,m18,m19,m20
LOCAL m21,m22,m23,m24,m25,m26,m27
m1=myexcel.cells(1,2).text &&身份证号
m2=myexcel.cells(2,2).text &&姓名
m3=myexcel.cells(2,4).text &&学校代码
m4=myexcel.cells(2,6).text &&学校名称全称
m5=myexcel.cells(2,8).text &&年级
m6=myexcel.cells(3,2).text &&班级名称
m7=myexcel.cells(3,7).text &&性别
m8=myexcel.cells(4,2).text &&民族
m9=myexcel.cells(4,7).text &&户籍镇街
m10=myexcel.cells(5,2).text &&监护人 数值型的写法:m10=myexcel.cells(i,10).value
m11=myexcel.cells(6,2).text &&监护人手机
m12=myexcel.cells(6,5).text &&家庭住址
m13=myexcel.cells(7,2).text &&学籍辅号
m14=myexcel.cells(7,4).text &&身份证号
m15=myexcel.cells(7,6).text &&姓名
m16=myexcel.cells(8,3).text &&学校代码
m17=myexcel.cells(8,6).text &&学校名称全称
m18=myexcel.cells(9,3).text &&年级
m19=myexcel.cells(9,6).text &&班级名称
m20=myexcel.cells(10,2).text &&性别 数值型的写法:m10=myexcel.cells(i,10).value
m21=myexcel.cells(10,4).text &&民族
m22=myexcel.cells(10,9).text &&户籍镇街
m23=myexcel.cells(12,2).text &&监护人
m24=myexcel.cells(13,2).text &&监护人手机
m25=myexcel.cells(11,2).text &&家庭住址
m26=myexcel.cells(11,5).text &&学籍辅号
m27=myexcel.cells(11,9).text &&身份证号
SELECT bmk
APPEND BLANK
REPLACE bh WITH m1,xm WITH m2,xb WITH m3,csrq WITH m4,mz WITH m5,jg WITH m6,csd WITH m7,jtzz WITH m8,post WITH m9
REPLACE gzdw WITH m10,tel WITH m11,telm WITH m12,cjgzsj WITH m13,rdsj WITH m14,sfzh WITH m15,xl WITH m16,byxxzy WITH m17
REPLACE zjxl WITH m18,zjbyxxzy WITH m19,xrzw WITH m20,jszw WITH m21,jszc WITH m22,jzqk WITH m23,ndkhqk WITH m24
REPLACE hyzk WITH m25,jscs WITH m26,jslssj WITH m27
myexcel.workbooks.close && 关闭工作簿
myexcel.quit && 关闭excel
RELEASE myexcel && 释放对象变量,以完全结束EXCEL的进程
SELECT wjmk
ENDSCAN
*-------------------------
SELECT bmk
GO top
thisform.grid1.ColumnCount =-1
thisform.grid1.RecordSource ='bmk'
thisform.grid1.RecordSourceType =1
thisform.grid1.Visible = .T.
thisform.Refresh
MESSAGEBOX('恭喜您,员工数据信息导入成功!',64,'提示:',1500)
2014-08-01 15:56
2014-08-01 16:50
2014-08-01 16:54
2014-08-01 16:55

2014-08-01 17:07
2014-08-01 18:45