请教一个用CommonDialog把DataGrid中的数据导出成excel文件的问题:
 我用的是以下的代码:
          Dim strFileName As String
          Dim time As String
          Dim objFileSystem As Object
          Dim objExcelText  As Object
          Dim strTableString As String, i As Integer
          Dim rs_excel As New ADODB.Recordset
          Dim strConn  As String
          Dim sql  As String
          Dim strTableString2 As String
          
          time = Format(DateTime.Now, "yyyy-mm-dd")
          sql = "select * from 订单表 where 日期=#" & time & "#"
          rs_excel.CursorLocation = adUseClient
          rs_excel.Open sql, conn, adOpenKeyset, adLockPessimistic
          For i = 0 To rs_excel.Fields.Count - 1
          strTableString = strTableString & rs_excel.Fields(i).Name & Chr(9)    '獲取字段名
            Next
          strTableString2 = strTableString
         
          strTableString = rs_excel.GetString  '字段名+數據庫的記錄
            CommonDialog2.CancelError = False
          CommonDialog2.FileName = time & "系统导出数据"    '默認生成的文件名
            CommonDialog2.DialogTitle = "保存导出文件"
          CommonDialog2.Filter = "Excel文件(*.xls)|*.xls|HTML文档(*.html)|*.htm"
          CommonDialog2.DefaultExt = ".xls"
          CommonDialog2.Flags = cdlOFNOverwritePrompt
          CommonDialog2.ShowSave
          strFileName = CommonDialog2.FileName          Set objFileSystem = CreateObject("Scripting.FileSystemObject")
          Set objExcelText = objFileSystem.createtextfile(CommonDialog2.FileName, True)
          objExcelText.writeline (strTableString2)
          objExcelText.writeline (strTableString)
          objExcelText.Close数据是可以导出成.XLS文件,但是当我直接在access中用 "获取外部数据" 选项想把导出生成的.xls文件导入到其中的一个表时,却提示说:此文件格式不对.
各位高手,能不能告诉我问题出在哪里,如何改动????

解决方案 »

  1.   

    好象需要在xls文件的每个单元格的字符前加一个单引号才能被ACCESS数据库认可.
      

  2.   

    你这个其实是一个文本文件而不是xls文件,选择导入xls当然会出错。
    只不过是excel能解析你的文件放到自己的格子里显示而已。
      

  3.   

    谢谢悟不透兄弟的提醒,我知道问题是出在:
    Set   objFileSystem   =   CreateObject("Scripting.FileSystemObject") 
    Set   objExcelText   =   objFileSystem.createtextfile(CommonDialog2.FileName,   True) 
    objExcelText.writeline   (strTableString2) 
    objExcelText.writeline   (strTableString) 
    objExcelText.Close 
    上的.但是不知道怎么改啊.能不能给出改动的代码???急啊