已经在vb里用form_load写好了一个activex dll,要把它变成一个接口函数,怎么写
解决方案 »
- 为什么MDIform已经退出,任务管理器里软件进程还在呢
- 刚才有个问题还没有解决,望进一步能帮忙!!!!!!!!!
- 同样的存储过程用VB调用执行很慢,而用企业管理器执行就很快,速度差了几十倍,疑惑中
- 很简单可是我不会的问题
- 如何缩短网络连接时间
- treeview控件如何在程序一开始就指向某个分支节点,也就是让树展开
- 500分求救!关于listview。在线等待
- 急救关于ado的recordset
- CB如何向VB转型?需要具备什么条件?做什么准备?看什么书?
- [求助] 关于一段ADO代码的出错原因
- vb中怎么使调用shell外部程序后,程序暂停等待外部程序处理完后,自建程序才继续执行
- 在VB中生成一个表格,我想双击表格中的某一条记录,则这一条记录的内容会在一个新窗口中显示出来,应怎样做呀
Private Sub Form_Load()
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.WorksheetDim SQLStr As String
Set cnn = New ADODB.Connection
cnn.Open = "Provider =SQLOLEDB;Initial Catalog=emg;Data Source=2号;UID=sa;Pwd=123456"
Set rs = New ADODB.Recordset
Set cmd = New ADODB.Command
SQLStr = "select I_OBJECT from T_STOCK_TRACE_TR"
rs.Open SQLStr, cnn
' 获取或者建立 Excel 对象
On Error Resume Next
Set xlApp = GetObject(, "Excel.Application")
If Err.Number <> 0 Then
Set xlApp = New Excel.Application
Err.Clear
End If
' 建立 WorkSheet
'Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Add
Set xlSheet = xlBook.ActiveSheet
xlApp.Selection.NumberFormatLocal = "@"
xlSheet.Cells.NumberFormatLocal = "@"
' 导出 ColumnHeaders
For j = 0 To rs.Fields.Count 'fileds(0)开始
xlSheet.Cells(1, j + 1) = rs.Fields(j).Name '2 change 1
Next j ' 导出 Data
rs.MoveFirst
For i = 1 To rs.RecordCount
While Not rs.EOF
For j = 1 To rs.Fields.Count
xlSheet.Cells(i + 1, j) = rs.Fields(j).Value '2 change 1
Next j
rs.MoveNext 'die
Wend
Next i
'rs.MoveFirst
' 自适应行标题
'For i = 1 To rs.Fields.Count
'xlSheet.Columns(i).AutoFit
'Next i
xlSheet.Range("A2").CopyFromRecordset rs
xlApp.Visible = True
rs.Close
cnn.CloseKill ("e:\bo.xls")
xlBook.SaveAs ("e:\bo.xls") '保存文件
xlApp.DisplayAlerts = False
'xlApp.Quit
'xlBook.Save '保存
Set xlApp = Nothing '交还控制给Excel
Set xlBook = Nothing
Set xlSheet = Nothing
End Sub
……后面的基本不用改了
你这是从数据库中把数据导到excel中,当然应该知道要导出到什么地方,也就是说e:\bo.xls应该是一文件路径参数。
不过:这是不是有问题?
Set cnn = New ADODB.Connection
cnn.Open = "Provider =SQLOLEDB;Initial Catalog=emg;Data Source=2号;UID=sa;Pwd=123456"