加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

从excel导入数据到vf,并且字段名为第一行名

(2009-06-23 10:06:36)
标签:

hh

xls

行名

vf

to

教育

分类: vf学习
close all
set safety off
set default to 'e:\'&&设置默认目录
messagebox('请选择要导入的XLS文件'+chr(13)+;
'注意表格不要有格式,首行的命名符合规则';
+chr(13)+'只把第一行做为字段','提示')
ss=getfile('xls')&&打开选择文件对话框,并赋值
if isblank(ss)
return
endif
myexcel=createobject('excel.application')&&创建EXCEL对象
*myexcel.visible=.t.
bookexcel=myexcel.workbooks.open(ss)&&打开选择的文件
i=1
***************获得表的可用sheet*************************************
for each omyvar in myexcel.sheets
    dimension a(i)
    a(i)=omyvar.name
    i=i+1
next omyvar
******************************************************
nrows=bookexcel.worksheets(a(1))&&设置第一个表为工作表
UsedRange =nrows.UsedRange&&设置工作区域
***************把第一行的数据赋值给数组b,一会删除第一行,便于导入*****
ma=usedrange.columns.count&&返回列的总数
dimension b(ma)
for i=1 to ma
b(i)=myexcel.cells(1,i).value
next
******************************************************
myexcel.Worksheets(a(1)).Activate
myexcel.activesheet.rows(1).select&&选中第一行
myexcel.Selection.EntireRow.Delete&&删除选中的行
myexcel.Worksheets(a(1)).select
*********检查d:\hh.xls是否存在,若存在,删除***********
IF FILE('d:\hh.xls')
DELETE FILE d:\hh.xls
ENDIF
*********************************
myexcel.ActiveWorkbook.SaveAs('d:\hh.xls')&&文件另存为
myexcel.ActiveWorkbook.saved=.t.&&不保存修改
myexcel.workbooks.close&&关闭工作区不提示保存
myexcel.quit&&excel退出
*release myexcel
*******************
import from d:\hh.xls type xl5&&导入到默认目录下的hh.dbf表中
DELETE FILE d:\hh.xls&&删除表
***********给表字段重命名**************************
use hh
ma=fcount()
dimension c(ma)
for la=1 to ma
c(la)=field(la)
next
for la=1 to ma
?la,c(la),b(la)
alter table hh rename &c(la) to &b(la)
next
*****************************************
messagebox('已成功将表导入到E:\hh.dbf','提示')
close all

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有