| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 753 人关注过本帖
标题:ado 读取exce后修改另存l
取消只看楼主 加入收藏
xxyyx82
Rank: 1
等 级:新手上路
帖 子:22
专家分:3
注 册:2015-7-16
结帖率:50%
收藏
 问题点数:0 回复次数:2 
ado 读取exce后修改另存l
程序代码:
Private Sub Command1_Click()
Set xlapp = CreateObject("Excel.Application")
Set xlBook = xlapp.Workbooks.Add
Set xlSheet = xlBook.Worksheets(1)
Dim con As Object
Dim rs As Object
Set con = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")
Keystr = "%" & "AA" & "%"
con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source = " & App.Path & "\a.xls;Extended Properties='Excel 8.0;HDR=Yes'"
con.Open
Sql = "select 姓名,综合 from [test$] where 项目 like '" & Keystr & "'"
rs.Open Sql, con, 3, 3
For I = 1 To rs.Fields.Count
    xlSheet.Cells(1, I) = rs.Fields(I - 1).Name

 Next
xlSheet.Cells(2, 1).CopyFromRecordset rs


xlBook.SaveAs ("G:\b.xls")
xlBook.Close
xlapp.Application.Quit
Set xlapp = Nothing
Set xlSheet1 = Nothing
Set xlBook = Nothing
rs.Close
Set rs = Nothing
con.Close
Set con = Nothing
End Sub


读取a.xls,想把a.xls中某一列的数值提取后,放在最后一列. 再另存为b.xls
数据量很大,不知如何通过高效的方法来实现
请各位大神指导..
附件中b.xls为需实现的效果。

Test.rar (3.54 KB)
2015-08-23 21:19
xxyyx82
Rank: 1
等 级:新手上路
帖 子:22
专家分:3
注 册:2015-7-16
收藏
得分:0 
回复 2楼 风吹过b
谢谢版主的帮忙,辛苦了
--------------------------------------------------
ADO读取a.xls创建一个Rs记录集
通过数组来处理Rs
m = Join(s, vbTab)
再把数据粘贴保存至b.xls
Clipboard.SetText m
objExl.Sheets("sheet1").Range("A1").PasteSpecial
---------------------------------------------------
我这样理解思维对么?
2015-08-28 22:53
xxyyx82
Rank: 1
等 级:新手上路
帖 子:22
专家分:3
注 册:2015-7-16
收藏
得分:0 
回复 3楼 风吹过b
数据量很大的时候用数组字典确实很高效
谢谢版主。
2015-08-28 22:54
快速回复:ado 读取exce后修改另存l
数据加载中...
 
   



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

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