由web页面Response.write()生成的Excel文件,怎么控制列的类型呢?特别是身份证都是数字,就变成科学记数法了。

解决方案 »

  1.   

    sheet.ActiveSheet.Range("a1:a65536").NumberFormat = "#################"类似这样的客户端代码,不知道是否对你有用。
      

  2.   

    首先我要问搂主,你会对身份证字段进行四则运算吗?不会吧!不会你设计数据库的时候干什么要设成int型,你把它设成char型不就ok了么,呵呵,搂主这样可以保证数据库完整约束性,但完整约束性不能在数据层外的应用程序中搞定么?设置每次插入数据库的身份证号码都经过验证控件验证,WEB里达到这样的效果应该不难的吧,呵呵,如果是我,我就会这么想!
      

  3.   

    身份证字段是varchar类型的啊!我还在程序中Cast(card as char(50))了呢!
    也不行了。
      

  4.   

    sheet.ActiveSheet.Range("a1:a65536").NumberFormat = "#################"这样的格式有吗?我在excel中没看到嘛!
      

  5.   

    //给某个列加上这个属性。
    private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {
    if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
    {
    IDictionaryEnumerator myEnumerator = StringOfNumtable.GetEnumerator() ;  while( myEnumerator.MoveNext())
    {
    e.Item.Cells[(int)myEnumerator.Key].Attributes.Add ("style","vnd.ms-excel.numberformat:@");
    } }

    }