导出的时候如果是很长的数字,比如"1111111111111111111111"到了Excel里面就成了“1.11E+21”应该怎么导出才对呢?

解决方案 »

  1.   

    需要先設定好Excel模板的屬性.
      

  2.   

    我没有模块啊,
    是用Response.Write
    直接给客户端打开或是保存那种。加个"'"的话。
    就成了"'1111111111111111111111"..疯了!!!
      

  3.   

    http://dotnet.aspx.cc/ShowDetail.aspx?id=8A4CBF47-B888-4832-3389-ED3A3A3C8AAB
      

  4.   

    孟大哥您的这篇大作,我在这之间就已经拜读过了,可以将datagrid的数据正确导出,我看关键是在这里
    e.Item.Cells[0].Attributes.Add("style","vnd.ms-excel.numberformat:@");
    e.Item.Cells[3].Attributes.Add("style","vnd.ms-excel.numberformat:¥#,###.00");但我想把一个datatable里的数据导出呢??这样的方法也可以吗??我没找到可以设计的地方。
    请指教。
      

  5.   

    Excel.Range  range  =  (Excel.Range)worksheet.Cells[1,1];
    //设置单元格数字内容显示格式
    range.NumberFormat  =  Excel.XlParameterDataType.xlParamTypeUnknown;
    这样导出就没有问题了。
      

  6.   

    楼上的,
    我用的是Response.Write
    没有用到Excel呀。
      

  7.   

    Response.Clear()
            Response.Buffer = True
            Response.Charset = "GB2312"
            Response.AppendHeader("Content-Disposition", "attachment;filename=FileName.xls")
            Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312")
            Response.ContentType = "application/ms-excel"
            Dim numbercols As Integer = reader.FieldCount
            Dim row As Integer = 2
            Dim i As Integer = 0
            ' 输出标题        Response.Write("<TABLE BORDER=1>")
            Response.Write("<tr>")
            For i = 0 To numbercols - 1
                Response.Write("<td>")
                Response.Write(reader.GetName(i).ToString())
                Response.Write("</td>")
            Next
            Response.Write("</tr>")
            ' 输出字段内容
            While (reader.Read())
                Response.Write("<tr>")
                For i = 0 To numbercols - 1
                    Response.Write("<td style='vnd.ms-excel.numberformat:@'>")
                    Response.Write(reader.GetValue(i).ToString() & vbTab)
                    Response.Write("</td>")
                Next
                Response.Write("</tr>")
            End While
            Response.End()
            reader.Close()