VB6:如何实现导入Excel表格,然后再生成另一张Excel?

VB6:如何实现导入Excel表格,过滤掉其中一个字段重复的数据,然后再生成另一张Excel?再生成第二张表,专门生成这些被过滤掉的数据。解决了再追加100分!!~不要录... VB6:如何实现导入Excel表格,过滤掉其中一个字段重复的数据,然后再生成另一张Excel?
再生成第二张表,专门生成这些被过滤掉的数据。
解决了再追加100分!!~
不要录宏,谢谢
展开
 我来答
vgrass
2007-09-11 · 超过66用户采纳过TA的回答
知道小有建树答主
回答量:273
采纳率:0%
帮助的人:225万
展开全部
'给你一个LoadExcel函数,需要在工程引用里引用一个microsoft excel ....,然后你调用这个函数,传入你的记录集就可以了,你的情况的话只要调用两次就行了,每次的记录集信息由你的查询语句决定

'例: call loadexcel(rsRecordset)

Public Function LoadExcel(ByVal rsMultiInfor As ADODB.Recordset) As String
On Error GoTo ErrTrap
Dim priXLS As Excel.Application
Dim priWorkbook As Excel.Workbook
Dim priSheet As Excel.Worksheet
Dim lngRow, lngRows, intField, intFields, lngID As Long
If rsMultiInfor.RecordCount <= 0 Then
MsgBox "无记录可导出Excel", vbInformation, "信息提示"
Exit Function
End If
Set priXLS = New Excel.Application
Set priWorkbook = priXLS.Workbooks.Add
Set priSheet = priXLS.Sheets(1)
With priSheet
intFields = rsMultiInfor.Fields.Count
For intField = 1 To intFields
.Cells(1, intField) = rsMultiInfor(intField - 1).Name
Next
rsMultiInfor.MoveLast
rsMultiInfor.MoveFirst
For lngID = 1 To rsMultiInfor.RecordCount
For intField = 1 To intFields
.Cells(lngID + 1, intField) = rsMultiInfor(intField - 1).Value
Next
rsMultiInfor.MoveNext
Next
End With
priXLS.Visible = True
Set rsMultiInfor = Nothing
Exit Function
ErrTrap:
On Error GoTo 0
End Function
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友70f79f6
2007-09-11 · TA获得超过393个赞
知道小有建树答主
回答量:913
采纳率:0%
帮助的人:0
展开全部
告诉你一个最简单,最好用的办法。
打开Excel,点击工具菜单下宏--录制新宏。然后把你想要用程序实现,而自己又不会编程的操作都做一遍,停止录宏。然后再点击工具菜单下宏--宏,打开这个宏就可以了。你会发现你想要的代码都有实例了。
当然,你也可以把每一个操作分别录宏,这样看起来就更清楚了。
就这么简单,祝你好运。^_^

参考资料: http://zhidao.baidu.com/question/2007428.html?fr=qrl3

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
怒放的生命love
2007-09-11 · TA获得超过429个赞
知道答主
回答量:72
采纳率:0%
帮助的人:0
展开全部
-- 导入Excel到SQL数据库的方法
SELECT * INTO XLImport6
FROM OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0',
'Data Source=C:\abc.xls;
Extended Properties=Excel 8.0')...[Sheet1$]

SELECT * INTO XLImport7
FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'Excel 8.0;Database=C:\abc.xls',

[Sheet1$])

SELECT * INTO XLImport8
FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'Excel 8.0;Database=C:\abc.xls',

'SELECT * FROM [Sheet1$]'
告诉你一个最简单,最好用的办法。
打开Excel,点击工具菜单下宏--录制新宏。然后把你想要用程序实现,而自己又不会编程的操作都做一遍,停止录宏。然后再点击工具菜单下宏--宏,打开这个宏就可以了。你会发现你想要的代码都有实例了。
当然,你也可以把每一个操作分别录宏,这样看起来就更清楚了。
就这么简单,祝你好运。^_^

参考资料:http://zhidao.baidu.com/question/2007428.html?fr=qrl3

'给你一个LoadExcel函数,需要在工程引用里引用一个microsoft excel ....,然后你调用这个函数,传入你的记录集就可以了,你的情况的话只要调用两次就行了,每次的记录集信息由你的查询语句决定

'例: call loadexcel(rsRecordset)

Public Function LoadExcel(ByVal rsMultiInfor As ADODB.Recordset) As String
On Error GoTo ErrTrap
Dim priXLS As Excel.Application
Dim priWorkbook As Excel.Workbook
Dim priSheet As Excel.Worksheet
Dim lngRow, lngRows, intField, intFields, lngID As Long
If rsMultiInfor.RecordCount <= 0 Then
MsgBox "无记录可导出Excel", vbInformation, "信息提示"
Exit Function
End If
Set priXLS = New Excel.Application
Set priWorkbook = priXLS.Workbooks.Add
Set priSheet = priXLS.Sheets(1)
With priSheet
intFields = rsMultiInfor.Fields.Count
For intField = 1 To intFields
.Cells(1, intField) = rsMultiInfor(intField - 1).Name
Next
rsMultiInfor.MoveLast
rsMultiInfor.MoveFirst
For lngID = 1 To rsMultiInfor.RecordCount
For intField = 1 To intFields
.Cells(lngID + 1, intField) = rsMultiInfor(intField - 1).Value
Next
rsMultiInfor.MoveNext
Next
End With
priXLS.Visible = True
Set rsMultiInfor = Nothing
Exit Function
ErrTrap:
On Error GoTo 0
End Function
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dna53988
2007-09-11 · TA获得超过1.8万个赞
知道大有可为答主
回答量:8082
采纳率:22%
帮助的人:7947万
展开全部
有好几种方法 介绍其中之一
Set Exapp = CreateObject("excel.application")
Set FSO = CreateObject("Scripting.FileSystemObject")
Exapp.DisplayAlerts = False
Exapp.Workbooks.Open "打开的文件的路径"

k = Exapp.workSheets(WSname).Cells(n, s)
'Wsname是excel名 里面的比如sheet1
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式