| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4881 人关注过本帖, 3 人收藏
标题:请教如何把EXCEL2016文件导入到VF中来
只看楼主 加入收藏
wjh9390
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2021-6-20
结帖率:0
收藏(1)
已结贴  问题点数:20 回复次数:25 
请教如何把EXCEL2016文件导入到VF中来
现有一个EXCEL固定的表65列,每列都
名册.zip (21.56 KB)
是字符型,想导入到VF中来处理,如何用程序导入请大神出个成品,能直接使用的。谢谢
搜索更多相关主题的帖子: 字符型 处理 固定 文件 导入 
2021-06-28 16:56
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏(3)
得分:3 
电脑没有安装EXCEL2016,是在WIN7+VFP9 7423+EXCEL2007环境下测试的。
程序代码:
oExcel = CREATEOBJECT('Excel.Application')
WITH oExcel
    .WorkBooks.Open(SYS(5) + SYS(2003) + "\名册.Xlsx")
    .ActiveSheet.UsedRange.Select
    WITH .Selection
        .Columns.AutoFit
        nRow = .Rows.Count - 1
        nColumn = .Columns.Count - 0
        LOCAL ArrayName[nRow, nColumn]
        ArrayName = .Cells(2, 1).Resize(nRow, nColumn).Value
    ENDWITH 
    .DisplayAlerts = .F.
    .WorkBooks.Close
    .Quit    
ENDWITH 
lcStr = "序号 N(2)"
FOR lnj = 1 TO 64
    lcStr = lcStr + ", F" + TRANSFORM(lnj) + " C(40)"
ENDFOR
CREATE CURSOR test (&lcStr)
INSERT INTO test FROM ARRAY ArrayName
LOCATE 
BROWSE 

坚守VFP最后的阵地
2021-06-28 18:04
wjh9390
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2021-6-20
收藏
得分:0 
谢谢,测试一下,正在使用
2021-06-28 20:19
jiazhefish
Rank: 2
等 级:论坛游民
帖 子:64
专家分:28
注 册:2011-9-6
收藏
得分:3 
2021-06-29 08:25
wengjl
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:109
帖 子:2214
专家分:3882
注 册:2007-4-27
收藏
得分:3 
自从数据超过65536后,不能用2003了,只好用高版本,而高版本又没有另存为...DBF格式的功能了。好在VFP能读EXCEL,所以,自用上OFFICE2007后,都是采用读取单元格的方法来解决,虽然速度上损失一点,但还是可以忍受的程度。

只求每天有一丁点儿的进步就可以了
2021-06-29 13:00
reakal
Rank: 1
等 级:新手上路
威 望:1
帖 子:13
专家分:8
注 册:2014-8-13
收藏
得分:3 
回复 2楼 sdta
ArrayName = .Cells(2, 1).Resize(nRow, nColumn).Value   
这句是个思路,请教一下,可以反向吗,及批量替换Excel选定区域的内容 替换为VFP的数组内容
2021-07-01 08:29
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
回复 6楼 reakal
可以

坚守VFP最后的阵地
2021-07-01 09:00
reakal
Rank: 1
等 级:新手上路
威 望:1
帖 子:13
专家分:8
注 册:2014-8-13
收藏
得分:0 
回复 7楼 sdta
版主百忙之中还能及时关注啊,谢谢!
我指的不是通过循环哦,就是类似赋值那样 一句就搞定的,目的其实只有一个,就是更高效
比如,通常我们取Excel数据,都是循环读取每个单元格,感觉这种方式,显然没你这句直接把区域 赋值给 数组,一行,来得快。

[此贴子已经被作者于2021-7-1 09:25编辑过]

2021-07-01 09:23
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
https://blog.bccn.net/sdta/16740
这段代码是由 都市夜猫 大师写的,不知是否符合你的要求

坚守VFP最后的阵地
2021-07-01 09:35
reakal
Rank: 1
等 级:新手上路
威 望:1
帖 子:13
专家分:8
注 册:2014-8-13
收藏
得分:0 
回头我试试,谢谢版主!
2021-07-01 09:44
快速回复:请教如何把EXCEL2016文件导入到VF中来
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.041698 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved