用下面的语句
fgList.SaveGrid dlgFile.FileName, flexFileExcel
将数据写入到EXCEL文件后,无法设定单元格属性

解决方案 »

  1.   

    无法设定单元格属性?导入到EXCEL文件后可以修改啊
      

  2.   

    说的就是在EXCEL中无法进行修改
      

  3.   

    我用同样的语句可以修改单元格属性,check一下EXCEL
      

  4.   

    看看是否有帮助
    '导出表格到EXCEL
    Public Function IntoEXCEL(ByVal rptName As String, ByRef VS As VSFlexGrid, ByVal FilePath As String) As Boolean
       If FilePath = "" Then
          MsgBox "文件名不能为空,请选择正确的文件!", vbOKOnly + vbCritical, "错误"
          IntoEXCEL = False
          Exit Function
       End If   Screen.MousePointer = vbHourglass    Dim ws As Workspace
        Dim db As DAO.Database
        Dim rs As DAO.Recordset
        Dim tb As DAO.TableDef
        Dim fd As DAO.Field
         
        Dim i As Long
        Dim j As Long    Set ws = DBEngine.Workspaces(0)
        Set db = ws.OpenDatabase(FilePath, 0, 0, "Excel 8.0;")
        Set tb = db.CreateTableDef(rptName)
        For i = 0 To VS.Cols - 1
            If VS.ColHidden(i) = False Then
                Set fd = tb.CreateField("C" & i, dbText, 100)
                tb.Fields.Append fd
            End If
        Next
        db.TableDefs.Append tb
        Set rs = db.OpenRecordset(rptName)
        If VS.Rows > 1 Then
            For i = 0 To VS.Rows - 1
                If VS.RowHidden(i) = False Then
                    rs.AddNew
                    For j = 0 To VS.Cols - 1
                        If VS.ColHidden(j) = False Then rs.Fields("C" & j) = VS.TextMatrix(i, j)
                    Next
                    rs.Update
                End If
            Next
        End If
        rs.Close
        Set rs = Nothing
        db.Close
        Set db = Nothing
        ws.Close
        Set ws = Nothing   Screen.MousePointer = vbDefault
       MsgBox "导出完毕", vbInformation + vbOKOnly, "导出"
    'If FilePath = "" Then
    '      MsgBox "文件名不能为空,请选择正确的文件!", vbOKOnly + vbCritical, "错误"
    '      IntoEXCEL = False
    '      Exit Function
    '   End If
    '
    '   Screen.MousePointer = vbHourglass
    '
    '    Dim ws As Workspace
    '    Dim db As DAO.Database
    '    Dim rs As DAO.Recordset
    '    Dim tb As DAO.TableDef
    '    Dim fd As DAO.Field
    '    Dim i As Integer
    '    Dim j As Integer
    '
    '    Set ws = DBEngine.Workspaces(0)
    '    Set db = ws.OpenDatabase(FilePath, 0, 0, "Excel 8.0;")
    '    Set tb = db.CreateTableDef(rptName)
    '    For i = 0 To VS.Cols - 1
    '        If VS.ColHidden(i) = False Then
    '            Set fd = tb.CreateField("C" & i, dbText, 100)
    '            tb.Fields.Append fd
    '        End If
    '    Next
    '    db.TableDefs.Append tb
    '    Set rs = db.OpenRecordset(rptName)
    '    If VS.Rows > 1 Then
    '        For i = 0 To VS.Rows - 1
    '            If VS.RowHidden(i) = False Then
    '                rs.AddNew
    '                For j = 0 To VS.Cols - 1
    '                    If VS.ColHidden(j) = False Then rs.Fields("C" & j) = VS.TextMatrix(i, j)
    '                Next
    '                rs.Update
    '            End If
    '        Next
    '    End If
    '    rs.Close
    '    Set rs = Nothing
    '    db.Close
    '    Set db = Nothing
    '    ws.Close
    '    Set ws = Nothing
    '
    '   Screen.MousePointer = vbDefault
    '   MsgBox "导出完毕", vbInformation + vbOKOnly, "导出"
    End Function
      

  5.   

    放弃用savegrid方法了.
    多谢AKillGodKillBuddha(神挡杀神 佛挡杀佛).