导出函数如下:
想在字段上方插入一行或几行,写入相关表信息,请大家帮忙Public Function ExporToExcel(strOpen As String)
'*********************************************************
'* 名称:ExporToExcel
'* 功能:导出数据到EXCEL
'* 用法:ExporToExcel(sql查询字符串)
'*********************************************************
Dim Rs_Data As RecordsetDim Irowcount As Integer
Dim Icolcount As Integer
'
    Dim xlApp As New Excel.Application
    Dim xlBook As Excel.Workbook
    Dim xlSheet As Excel.Worksheet
    Dim xlQuery As Excel.QueryTable
    Dim Orgdb As Database
    Select Case Excel_flag
    Case "O"
       Set Orgdb = Workspaces(0).OpenDatabase(DBpath & "orgdb.mdb")
       Set Rs_Data = Orgdb.OpenRecordset(strOpen)
    End Select
    With Rs_Data
        If .RecordCount < 1 Then
            MsgBox ("没有记录!")
            Exit Function
        End If
        '记录总数
        Irowcount = .RecordCount
        '字段总数
        Icolcount = .Fields.Count
    End With
    
    Set xlApp = CreateObject("Excel.Application")
    Set xlBook = Nothing
    Set xlSheet = Nothing
    Set xlBook = xlApp.Workbooks().Add
    Set xlSheet = xlBook.Worksheets("sheet1")
    xlApp.Visible = True
    
    '添加查询语句,导入EXCEL数据    Set xlQuery = xlSheet.QueryTables.Add(Rs_Data, xlSheet.Range("a1"))
    With xlQuery
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = True
        .SaveData = True
        .AdjustColumnWidth = True
        
        .RefreshPeriod = 0
        .PreserveColumnInfo = True
    End With
    
    xlQuery.FieldNames = True '显示字段名
    xlQuery.Refresh
    xlSheet.Cells.ins
    
    xlApp.Application.Visible = True
    Set xlApp = Nothing  '"交还控制给Excel
    Set xlBook = Nothing
    Set xlSheet = Nothing
'    xlBook.SaveAs ("c:\ys.xls")
'xlSheet.SaveAs ("c:\ys.xls")
xlApp.Quit
End Function

解决方案 »

  1.   

    可以在Excel里录制宏(你在Excel里想做的任何操作),然后编辑宏,把代码拷到VB程序里用就可以了
      

  2.   

    你可以先插入要附加的信息,再把recordset的记录写进去啊,Excel对象的worksheet对象好象有函数可以插入一行的Rows.Insert ()
      

  3.   

    Set xlQuery = xlSheet.QueryTables.Add(Rs_Data, xlSheet.Range("a1"))中的"a1"代表起始位置,把它改一下就行了,如 "a10"  "d1"等