以下代码是连接EXCEL并取得字段类型:
    '连接到EXCEL
    Dim excelAdoCnn As New ADODB.Connection
    Dim excelAdoRst As New ADODB.Recordset
    excelAdoCnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=D:\test.xls;Extended Properties='Excel 8.0;HDR=Yes'"
    excelAdoRst.Open "Select * From [test$] ", excelAdoCnn, adOpenKeyset, adLockOptimistic
    Dim i As Integer
    For i = 0 To excelAdoRst.Fields.Count - 1  '通过循环获得字段名,类型
        Debug.Print excelAdoRst.Fields(i).Name & excelAdoRst.Fields(i).Type
    Next
有一个问题,这里获取的字段类型的值是根据什么确定的?或者说在EXCEL中如何操作能够更改字段类型?请指教。

解决方案 »

  1.   

    想在Excel中更改字段的类型,就必须用VBA了,用ADO不行的,
      

  2.   

    Sub Macro1()
    '
    ' Macro1 Macro
    ' 40666 记录的宏 2004-7-15
    ''
        Columns("C:C").Select
        Selection.NumberFormatLocal = "0.00_ "
    End Sub
      

  3.   

    上面那个是把“常规”类型的变成“数字”类型,并且,保留两位小数Sub Macro2()
    '
    ' Macro2 Macro
    ' 40666 记录的宏 2004-7-15
    ''
        Selection.NumberFormatLocal = "G/通用格式"
    End Sub这个是把“数字”类型变成“常规”
      

  4.   

    这和打开EXCEL然后更改格式是不是一样的效果?