实践证明,用owc.spreadsheet控件比引用Excel.Application的速度要快,而且占用更少资源: Private Sub Command1_Click() On Error GoTo Errorhandl Dim xls As Object Dim wks As OWC.Worksheet Dim fn As String Set xls = CreateObject("OWC.Spreadsheet") Set wks = xls.ActiveSheet Dim i,j As Integer For i = 1 To 10 For j = 1 To 10 wks.Cells(i, j) = "A" Next j Next i CommonDialog1.Filter = "MS-Excel(*.xls)|*.xls" CommonDialog1.cancelerror=true '取消产生错误 CommonDialog1.ShowSave fn = CommonDialog1.FileName wks.Export fn, 0 MsgBox "数据输出到" + fn + "完毕!" Exit Sub Errorhandl: Msgbox err.description End Sub
[email protected]
[email protected]
================================================================CSDN 论坛助手 Ver 1.0 B0402提供下载。 改进了很多,功能完备!★ 浏览帖子速度极快![建议系统使用ie5.5以上]。 ★ 多种帖子实现界面。
★ 保存帖子到本地[html格式]★ 监视您关注帖子的回复更新。
★ 可以直接发贴、回复帖子★ 采用XML接口,可以一次性显示4页帖子,同时支持自定义每次显示帖子数量。可以浏览历史记录!
★ 支持在线检测程序升级情况,可及时获得程序更新的信息。★★ 签名 ●
可以在您的每个帖子的后面自动加上一个自己设计的签名哟。Http://www.ChinaOK.net/csdn/csdn.zip
Http://www.ChinaOK.net/csdn/csdn.rar
Http://www.ChinaOK.net/csdn/csdn.exe [自解压]
================================================================CSDN 论坛助手 Ver 1.0 B0402提供下载。 改进了很多,功能完备!★ 浏览帖子速度极快![建议系统使用ie5.5以上]。 ★ 多种帖子实现界面。
★ 保存帖子到本地[html格式]★ 监视您关注帖子的回复更新。
★ 可以直接发贴、回复帖子★ 采用XML接口,可以一次性显示4页帖子,同时支持自定义每次显示帖子数量。可以浏览历史记录!
★ 支持在线检测程序升级情况,可及时获得程序更新的信息。★★ 签名 ●
可以在您的每个帖子的后面自动加上一个自己设计的签名哟。Http://www.ChinaOK.net/csdn/csdn.zip
Http://www.ChinaOK.net/csdn/csdn.rar
Http://www.ChinaOK.net/csdn/csdn.exe [自解压]
好!
[email protected]
谢了!
[email protected]
[email protected]
*** [email protected] *******
****************************
[email protected]
Dim w As Integer
'新建一个XLS文件
Set fileob = New FileSystemObject
'*********************
' 设置“CancelError”为 True
CommonDialog1.CancelError = True
On Error GoTo ErrHandler
' 设置标志
CommonDialog1.Flags = cdlOFNHideReadOnly
' 设置过滤器
CommonDialog1.Filter = "电子表格文件(*.xls)|*.xls"
' 指定缺省的过滤器
CommonDialog1.FilterIndex = 2
' 显示“打开”对话框
CommonDialog1.ShowSave
' 显示选定文件的名字
If fileob.FileExists(CommonDialog1.filename) = True Then
If vbNo = MsgBox("此文件已经存在,要覆盖吗?", vbYesNo, "接待系统") Then
Exit Sub
Else
fileob.DeleteFile (CommonDialog1.filename)
End If
End If
'申明EXCEL对象
Set xlsapp = New Excel.Application
xlsapp.Workbooks.Add
Set xlswb = xlsapp.Workbooks(1)
Set xlsws = xlswb.Worksheets(1)
'填充数据
xlsws.Range("A1") = Text2.Text
xlsws.Range("A2") = MSHFlexGrid1.TextMatrix(0, 1) ' rsmeetpeople.Fields(1).name
xlsws.Range("B2") = MSHFlexGrid1.TextMatrix(0, 2) ' rsmeetpeople.Fields(2).name
xlsws.Range("C2") = MSHFlexGrid1.TextMatrix(0, 3) 'rsmeetpeople.Fields(3).name
xlsws.Range("D2") = MSHFlexGrid1.TextMatrix(0, 4) 'rsmeetpeople.Fields(4).name
xlsws.Range("E2") = MSHFlexGrid1.TextMatrix(0, 5) 'rsmeetpeople.Fields(5).name
For w = 1 To MSHFlexGrid1.Rows - 1
xlsws.Range("A" & Trim(w + 2)) = MSHFlexGrid1.TextMatrix(w, 1) 'rsmeetpeople.Fields(1).Value
xlsws.Range("B" & Trim(w + 2)) = MSHFlexGrid1.TextMatrix(w, 2) ' rsmeetpeople.Fields(2).Value
xlsws.Range("C" & Trim(w + 2)) = MSHFlexGrid1.TextMatrix(w, 3) 'rsmeetpeople.Fields(3).Value
xlsws.Range("D" & Trim(w + 2)) = MSHFlexGrid1.TextMatrix(w, 4) 'rsmeetpeople.Fields(4).Value
xlsws.Range("E" & Trim(w + 2)) = MSHFlexGrid1.TextMatrix(w, 5) 'rsmeetpeople.Fields(5).Value
Next w
'格式化EXCEL 表格
xlsws.Range("A1").ColumnWidth = 30
xlsws.Range("B1").ColumnWidth = 8
xlsws.Range("C1").ColumnWidth = 4
xlsws.Range("D1").ColumnWidth = 15
xlsws.Range("E1").ColumnWidth = 6
xlsws.Range("A1:E1").Merge
xlsws.Range("A1:E1").HorizontalAlignment = xlHAlignCenter
xlsws.Range("A1:E1").Font.Size = 16
'xlsws.Range("A2:E2").HorizontalAlignment = xlHAlignCenter
xlsws.Range("A1:E" & CStr(MSHFlexGrid1.Rows + 1)).HorizontalAlignment = xlHAlignCenterxlswb.SaveAs CommonDialog1.filename
xlswb.Close
xlsapp.Quit
MsgBox "数据已成功导入EXCEL表格", vbOKOnly, "提示"
Exit Sub
ErrHandler:
' 用户按了“取消”按钮
'*********************
我这里用的是API,不引用EXCEL对象,不一样就是不一样。
Private Sub Command1_Click()
On Error GoTo Errorhandl
Dim xls As Object
Dim wks As OWC.Worksheet
Dim fn As String
Set xls = CreateObject("OWC.Spreadsheet")
Set wks = xls.ActiveSheet Dim i,j As Integer
For i = 1 To 10
For j = 1 To 10
wks.Cells(i, j) = "A"
Next j
Next i CommonDialog1.Filter = "MS-Excel(*.xls)|*.xls"
CommonDialog1.cancelerror=true '取消产生错误
CommonDialog1.ShowSave
fn = CommonDialog1.FileName
wks.Export fn, 0
MsgBox "数据输出到" + fn + "完毕!"
Exit Sub
Errorhandl:
Msgbox err.description
End Sub
[email protected] a lot