【一步一步学NPOI】2.设置单元格格式

1.日期格式

方式一:

<pre name="code" class="csharp">  var row1 = sheet1.CreateRow(0);
            //创建一个日期单元格
            var cellDate = row1.CreateCell(0);
            cellDate.SetCellValue(DateTime.Now.ToString("yyyy年MM月dd日"));

 
方式二: 

<pre name="code" class="csharp">  var cellDate1 = row1.CreateCell(1);
            cellDate1.SetCellValue(DateTime.Now);
            //创建单元格样式对象
            var cellStyle = hssfworkbook.CreateCellStyle();
            //创建格式化对象
            HSSFDataFormat format = (HSSFDataFormat)hssfworkbook.CreateDataFormat();
            cellStyle.DataFormat = format.GetFormat("yyyy年MM月dd日");//实例化单元格样式
            cellDate1.CellStyle = cellStyle;

 

2.数字格式

比如电话号码,纯数字的身份证号,excel显示都会默认为科学计数法。

  cellDate1.SetCellValue(123456789999);
            //创建单元格样式对象
            var cellStyle = hssfworkbook.CreateCellStyle();
            //创建格式化对象
            HSSFDataFormat format = (HSSFDataFormat)hssfworkbook.CreateDataFormat();
            cellStyle.DataFormat = HSSFDataFormat.GetBuiltinFormat("0"); //0.00则是保留两位小数
            cellStyle.DataFormat = HSSFDataFormat.GetBuiltinFormat("0.00E+00");//再转换为科学计数法
           cellDate1.CellStyle = cellStyle;
相反,有时候反而需要将数字显示为百分比,虽然是excel默认的。

3.货币格式

  var cell2 = row1.CreateCell(2);
            cell2.SetCellValue(10);
            var cellStyle2 = hssfworkbook.CreateCellStyle();
            HSSFDataFormat format = (HSSFDataFormat)hssfworkbook.CreateDataFormat();
            cellStyle2.DataFormat = format.GetFormat("¥#,##0");
            cell2.CellStyle = cellStyle2;
货币时常要求金额用中文大写,组需要两种格式组合(货币+中文大写)

 cellStyle2.DataFormat = format.GetFormat("[DbNum2][$-804] ¥#,##0");

4.百分比

  var cell3 = row1.CreateCell(3);
            cell3.SetCellValue(0.25);
            var cellStyle3 = hssfworkbook.CreateCellStyle();
            cellStyle3.DataFormat = HSSFDataFormat.GetBuiltinFormat("0.00%");
            cell3.CellStyle = cellStyle3;



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值