VB6:如何实现导入Excel表格,然后再生成另一张Excel?
VB6:如何实现导入Excel表格,过滤掉其中一个字段重复的数据,然后再生成另一张Excel?再生成第二张表,专门生成这些被过滤掉的数据。解决了再追加100分!!~不要录...
VB6:如何实现导入Excel表格,过滤掉其中一个字段重复的数据,然后再生成另一张Excel?
再生成第二张表,专门生成这些被过滤掉的数据。
解决了再追加100分!!~
不要录宏,谢谢 展开
再生成第二张表,专门生成这些被过滤掉的数据。
解决了再追加100分!!~
不要录宏,谢谢 展开
4个回答
展开全部
'给你一个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
'例: 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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
告诉你一个最简单,最好用的办法。
打开Excel,点击工具菜单下宏--录制新宏。然后把你想要用程序实现,而自己又不会编程的操作都做一遍,停止录宏。然后再点击工具菜单下宏--宏,打开这个宏就可以了。你会发现你想要的代码都有实例了。
当然,你也可以把每一个操作分别录宏,这样看起来就更清楚了。
就这么简单,祝你好运。^_^
打开Excel,点击工具菜单下宏--录制新宏。然后把你想要用程序实现,而自己又不会编程的操作都做一遍,停止录宏。然后再点击工具菜单下宏--宏,打开这个宏就可以了。你会发现你想要的代码都有实例了。
当然,你也可以把每一个操作分别录宏,这样看起来就更清楚了。
就这么简单,祝你好运。^_^
参考资料: http://zhidao.baidu.com/question/2007428.html?fr=qrl3
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
-- 导入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
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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
有好几种方法 介绍其中之一
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
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
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询