您的位置:首页 > 其它

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

2016-02-03 12:00 260 查看

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;


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: