none
c#操作excel 数字字段类型问题 RRS feed

  • 问题

  • c#开发网页导出excel,里面的 数字字段类型如何保留前面0?例如0010保留成0010,而不是10,
    2010年3月3日 9:51

答案

  • 导出excel开头的0都被截去了。这表示如果ID000345,它会显示为345。你可以在输出的数据流中添加CSS描述来解决该问题。为了能正确的显示ID列,你要把它存储为文本。文本格式在Excel中用“mso-number-format:"\@”来表示。只要你知道了这个格式,你就可以将这个样式添加到输出的数据流中。

    转自http://blog.csdn.net/xmzhaoym/archive/2009/10/28/4738035.aspx
    2010年3月8日 7:31

全部回复

  • 你在导出的字段前面加个单引号就可以了


    努力+方法=成功
    2010年3月3日 10:04
  • 你好

    通过设置style将格式设置为文本。如:

    <td style="vnd.ms-excel.numberformat:@">0010</td> 

    知识改变命运,奋斗成就人生!
    2010年3月4日 2:19
    版主
  • 转自孟子e章
    private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {
        if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
        {
            e.Item.Cells[0].Attributes.Add("style","vnd.ms-excel.numberformat:@");
            e.Item.Cells[3].Attributes.Add("style","vnd.ms-excel.numberformat:¥#,###.00");
        }
    }


    2010年3月8日 7:04
  • string style = @"<style> .text { mso-number-format:\@; } </script> "
    这个string赋值“”前面的@有什么特别含义?
    2010年3月8日 7:18
  • 导出excel开头的0都被截去了。这表示如果ID000345,它会显示为345。你可以在输出的数据流中添加CSS描述来解决该问题。为了能正确的显示ID列,你要把它存储为文本。文本格式在Excel中用“mso-number-format:"\@”来表示。只要你知道了这个格式,你就可以将这个样式添加到输出的数据流中。

    转自http://blog.csdn.net/xmzhaoym/archive/2009/10/28/4738035.aspx
    2010年3月8日 7:31