1。我不明白,几个表格控件各有什么不同,比如为什么有datagrid,大家还在用mshflexgird和msflexgrid,后面两个处理明显不如datagrid来得快,其中道理我想请教大家。
2。关于导出excel,为什么一导出时excel就启动了呢?能否让电子表格软件不启动,就能导出呢?
因为别的机器不一定都装excel,我只想导出excel格式的文件。而不一定当时就用excel来打开处理。
网上有很多代码,我也找了不少,我想了解其中的道理。比如vfoxpro中,导出excel很方便:用一条语句就行了。(copy to filename type xl5),然后就会生成一个*.xls文件,vb中肯定可以实现。(只有字符和数值型,应该好处理的。)
3.
2。关于导出excel,为什么一导出时excel就启动了呢?能否让电子表格软件不启动,就能导出呢?
因为别的机器不一定都装excel,我只想导出excel格式的文件。而不一定当时就用excel来打开处理。
网上有很多代码,我也找了不少,我想了解其中的道理。比如vfoxpro中,导出excel很方便:用一条语句就行了。(copy to filename type xl5),然后就会生成一个*.xls文件,vb中肯定可以实现。(只有字符和数值型,应该好处理的。)
3.
2:不知道你是怎么导出EXCEL的,如果是使用引用等方法,本身就是在借用EXCEL中的功能,当然就打开了.
3.
只加excel9.0还不行,必须要装excel,好象按道理说是不用装的吧!
请各位看一下,在下多谢了。Rem 导出电子表格excel的自定义过程
Public Sub ghexcel(stropen As String, cexcelname As String)
On Error GoTo gherr
If Len(stropen) = 0 Or Len(cexcelname) = 0 Then
MsgBox ("没有可导出数据信息或没有指定文件名,导出操作已取消")
Exit Sub
End If
Dim icol As Integer '列数,用于保存字段个数
Dim rsTable As New ADODB.Recordset
Dim AppExcel As Excel.Application '定义尚未创建
Dim BookExcel As Excel.Workbook '工作簿对象
With rsTable '记录集对象
If .State = adStateOpen Then
.Close '如果记录集处于打开状态,则先关闭它
End If
.ActiveConnection = conn '连接
.CursorLocation = adUseClient '本地游标
.CursorType = adOpenStatic '静态游标
.LockType = adLockReadOnly '只读
.Source = stropen '通过参数传过来的字符串
.Open
End With
With rsTable
If .RecordCount < 1 Then
MsgBox ("没有记录,导出操作已被取消!")
Exit Sub
End If
'记录总数
'Irowcount = .RecordCount
'字段总数
'icol = .Fields.Count '求出字段数
End With
' Set AppExcel = CreateObject("Excel.Application") '这句起何作用? If Dir$(cexcelname) = "" Then
Set AppExcel = New Excel.Application '创建excel对象
AppExcel.Visible = False '什么用处?
Set BookExcel = AppExcel.Workbooks.Add '添加工作表
' AppExcel.Worksheets(1).Name = "工作表一" '在Text1中输入表名
For icol = 0 To rsTable.Fields.Count - 1
AppExcel.Worksheets(1).Cells(1, icol + 1).Value = rsTable.Fields(icol).Name
Next AppExcel.Worksheets(1).Range("A2").CopyFromRecordset rsTable
BookExcel.SaveAs (cexcelname)
Else
MsgBox ("该文件名已经存在,不能导出,否则将覆盖,请给出新的名称")
Exit Sub
' Set BookExcel = AppExcel.Workbooks.Open(ExcelFileName)
' AppExcel.Worksheets(1).Name = "zgh2 table" '在Text1中输入表名
' AppExcel.Worksheets(1).Range("A70").CopyFromRecordset rsTable
' BookExcel.SaveAs (ExcelFileName)
End If AppExcel.Quit '这一句起何作用?
Set BookExcel = Nothing
Set AppExcel = Nothing
rsTable.Close
Set rsTable = Nothing MsgBox "电子表格导出操作顺利完成!" Exit Sub
gherr:
MsgBox Err.Number & "," & Err.DescriptionEnd Sub