NOPI HSSFCell Hssfworkbook 设置单元格格式 setdataformat

展开

HSSFWorkbook demoWorkBook = new HSSFWorkbook();   
 HSSFSheet demoSheet = demoWorkBook.createSheet("The World's 500 Enterprises");   
 HSSFCell cell = demoSheet.createRow(0).createCell(0);

1.设置单元格为文本格式

 HSSFCellStyle cellStyle2 = demoWorkBook.createCellStyle();
 HSSFDataFormat format = demoWorkBook.createDataFormat();
 cellStyle2.setDataFormat(format.getFormat("@"));
 cell.setCellStyle(cellStyle2);

第一种:日期格式

cell.setCellValue(new Date(2008,5,5));
//set date format
HSSFCellStyle cellStyle = demoWorkBook.createCellStyle();
HSSFDataFormat format= demoWorkBook.createDataFormat();
cellStyle.setDataFormat(format.getFormat("yyyy年m月d日"));
cell.setCellStyle(cellStyle);

第二种:保留两位小数格式

cell.setCellValue(1.2);
HSSFCellStyle cellStyle = demoWorkBook.createCellStyle();    
cellStyle.setDataFormat(HSSFDataFormat.getBuiltinFormat("0.00"));
cell.setCellStyle(cellStyle);

第三种:货币格式

cell.setCellValue(20000);
HSSFCellStyle cellStyle = demoWorkBook.createCellStyle();
HSSFDataFormat format= demoWorkBook.createDataFormat();
cellStyle.setDataFormat(format.getFormat("¥#,##0"));
cell.setCellStyle(cellStyle);

第四种:百分比格式

cell.setCellValue(20);
HSSFCellStyle cellStyle = demoWorkBook.createCellStyle();
cellStyle.setDataFormat(HSSFDataFormat.getBuiltinFormat("0.00%"));
cell.setCellStyle(cellStyle);

此种情况跟第二种一样

第五种:中文大写格式

cell.setCellValue(20000);
HSSFCellStyle cellStyle = demoWorkBook.createCellStyle();
HSSFDataFormat format= demoWorkBook.createDataFormat();
cellStyle.setDataFormat(format.getFormat("[DbNum2][$-804]0"));
cell.setCellStyle(cellStyle);

第六种:科学计数法格式

cell.setCellValue(20000);
HSSFCellStyle cellStyle = demoWorkBook.createCellStyle();
cellStyle.setDataFormat( HSSFDataFormat.getBuiltinFormat("0.00E+00"));
cell.setCellStyle(cellStyle);

 代码举例:

  HSSFCell cell_Conent = (HSSFCell)row_Content.CreateCell(jj); //创建单元格
                        cell_Conent.CellStyle = cs_Content;
               
                        //如果存在,则取出要属性对象
                        PropertyInfo proInfo = dictPros[proName];
                        //获取对应属性的值
                        object value = proInfo.GetValue(list[i], null); //object newValue = model.uName;

                        if (proInfo.PropertyType ==typeof(int))
                        {
                            cell_Conent.CellStyle.DataFormat = HSSFDataFormat.GetBuiltinFormat("#,##0");
                            double cell_value = value == null ? 0 : Convert.ToDouble(value);
                            cell_Conent.SetCellValue(cell_value);
                        }
                        else if (proInfo.PropertyType == typeof(decimal))
                        {
                            cell_Conent.CellStyle.DataFormat = HSSFDataFormat.GetBuiltinFormat("#,##0.00");
                            double cell_value = value == null ? 0 : Convert.ToDouble(value);
                            cell_Conent.SetCellValue(cell_value);
                        }
                        else
                        { 
                            string cell_value = value == null ? "" : value.ToString();
                            cell_Conent.SetCellValue(cell_value);
                        }

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值