各位,    我在ASP中用Provider=Microsoft.Jet.OOEDB;Datasource=c:\MyFolder\MyWorkbook.CSV;Extended Properties='Text;FMT=Delimited;HDR=YES';来读CSV文件,该文件其中有一栏用notepad打开时是0020031,但ASP读出来时却是20031,前面00不见了,谁能告诉我什么原因呢?

解决方案 »

  1.   

    ASP中把它当做数值处理了,你要的结果是字符串
    可以显式定义一个字符串变量来接收这个值,应该可以解决问题
      

  2.   

    解决办法:
    Test.asp如下:<%
    str = "Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties='text;HDR=Yes;FMT=Delimited';Data Source="& Server.Mappath(".") & "\"
    Set cn = Server.CreateObject("ADODB.Connection")
    cn.Open str
    Set rs = cn.Execute("select * from MyWorkbook.CSV")
    While Not rs.EOF
    Response.Write rs(0) & "<br>"
    rs.MoveNext
    Wend
    %>
    MyWorkbook.CSV如下:
    mxh,孟宪会
    0001,002
    0330,004将schema.ini放在当前文件夹下
    内容如下[MyWorkbook.CSV]
    ColNameHeader=True
    Format=CSVDelimited
    Col1=mxh Text
    Col2=孟宪会 Text
      

  3.   

    还有其他方法吗?因为在同一个文件夹里放有多个CSV文件,这样的话schema.ini就不好定义吧.str也就定义不了了吧.