导出excel时,如何设置所有单元格全为文本格式呢?
我不想一个格一个格的设置,能否用最简单的代码,将所有单元格设置成文本。
因为默认是“常规”,对于身份证号等很长的数字串,用户只要一双击就会变成科学计数法。
所以我想用代码实现,改变所有单元格为文本格式。因为我想写具有通用性的代码。
个别的设置某个单元格,有点不太现实,总不能每种类型的表格都单独设置格式吧。

解决方案 »

  1.   

    录制一个设置单元格数据格式为文本的宏,然后按Alt+F11看这个宏对应的源代码。
      

  2.   

    设置好xls文件格式,之后保存,再后copy这个xls文件做为模板就行.........
      

  3.   


    Private Sub Command1_Click()
    '从IP库导出IP.xls    'On Error GoTo myErr
        
        Dim FilePath As String, tmp As Byte
        Dim excel_app As Object
        Dim row As Integer
           
        '建立 Excel 应用程序
        Set excel_app = CreateObject("Excel.Application")
        '显示Excel应用程序
        excel_app.Visible = True
        
        '添加新工作簿:
        excel_app.WorkBooks.Add
        
        '你要的东东在这里
        excel_app.Columns("A:L").NumberFormatLocal = "@" '''A—L列设置为文本
        excel_app.ActiveCell.FormulaR1C1 = "0111" ''''''''''赋一个值看一下结果
        '工作表另存为:
        excel_app.DisplayAlerts = False
        If Not excel_app.ActiveWorkBook.Saved Then
            excel_app.ActiveWorkBook.SaveAs FileName:="c:\1.xls"
        End If
        ' Close Excel.
        excel_app.DisplayAlerts = True '关闭时提示保存    excel_app.Quit
        Set excel_app = Nothing
        Screen.MousePointer = vbDefault
        
        MsgBox "ok"
        
    Exit Sub
    myErr:
    If Err.Number = 429 Then
        Screen.MousePointer = vbDefault
        MsgBox "请先安装EXCEL!", , "导出错误"
        Exit Sub
    End If
    excel_app.DisplayAlerts = False '关闭时不提示保存
    excel_app.Quit '关闭EXCEL
    excel_app.DisplayAlerts = True '关闭时提示保存
    Set excel_app = Nothing
    Me.MousePointer = 0
    If tmp <> 7 Then MsgBox " 导出数据到 Excel 时出错! ", , "导出错误"End Sub
      

  4.   

    使用ADO,然后执行SELECT * INTO AAA.TXT FROM [BBB.XLS][SHEET1]查询。