NPOI_2.1.3-Excel中设置小数、百分比、货币、日期、科学计数法和金额大写

在操作Excel时候一些特殊值的转换是在所难免的,下面就给出转换方法大同小异,代码如下:

HSSFWorkbook hssfWorkbook = new HSSFWorkbook();
ISheet sheet = hssfWorkbook.CreateSheet("Sheet1");
//设置第一列(Cell) 宽度
sheet.SetColumnWidth(0, 5000);
//创建格式化 实例对象
IDataFormat format = hssfWorkbook.CreateDataFormat();

// 保留两位小数格式
// 创建一个单元格 "1.20"
ICell cell = sheet.CreateRow(0).CreateCell(0);
//设置单元格的值
cell.SetCellValue(1.2);
ICellStyle cellStyle = hssfWorkbook.CreateCellStyle();
//格式化值
cellStyle.DataFormat = HSSFDataFormat.GetBuiltinFormat("0.00");
cell.CellStyle = cellStyle;

//货币 "¥20,000"
ICell cell2 = sheet.CreateRow(1).CreateCell(0);
cell2.SetCellValue(20000);
ICellStyle cellStyle2 = hssfWorkbook.CreateCellStyle();
cellStyle2.DataFormat = format.GetFormat("¥#,##0");
cell2.CellStyle = cellStyle2;

//科学计数法 "3.15E+00"
ICell cell3 = sheet.CreateRow(2).CreateCell(0);
cell3.SetCellValue(3.151234);
ICellStyle cellStyle3 = hssfWorkbook.CreateCellStyle();
cellStyle3.DataFormat = HSSFDataFormat.GetBuiltinFormat("0.00E+00");
cell3.CellStyle = cellStyle3;

//百分比 "99.33%"
ICell cell4 = sheet.CreateRow(3).CreateCell(0);
cell4.SetCellValue(0.99333);
ICellStyle cellStyle4 = hssfWorkbook.CreateCellStyle();
cellStyle4.DataFormat = HSSFDataFormat.GetBuiltinFormat("0.00%");
cell4.CellStyle = cellStyle4;

//电话号码 "021-65881234"
ICell cell5 = sheet.CreateRow(4).CreateCell(0);
cell5.SetCellValue(02165881234);
ICellStyle cellStyle5 = hssfWorkbook.CreateCellStyle();
cellStyle5.DataFormat = format.GetFormat("000-00000000");
cell5.CellStyle = cellStyle5;

//金额大写 - 壹贰叁 元
ICell cell6 = sheet.CreateRow(5).CreateCell(0);
cell6.SetCellValue(123);
ICellStyle cellStyle6 = hssfWorkbook.CreateCellStyle();
cellStyle6.DataFormat = format.GetFormat("[DbNum2][$-804]0 元");
cell6.CellStyle = cellStyle6;

//日期格式化
ICell cell7 = sheet.CreateRow(6).CreateCell(0);
cell7.SetCellValue(new DateTime(2004, 5, 6));
ICellStyle cellStyle7 = hssfWorkbook.CreateCellStyle();
cellStyle7.DataFormat = format.GetFormat("yyyy年m月d日");
cell7.CellStyle = cellStyle7;

//日期格式化
ICell cell8 = sheet.CreateRow(7).CreateCell(0);
cell8.SetCellValue(new DateTime(2005, 11, 6));
ICellStyle cellStyle8 = hssfWorkbook.CreateCellStyle();
cellStyle8.DataFormat = format.GetFormat("yyyy年m月d日");
cell8.CellStyle = cellStyle8;

FileStream file = new FileStream(@"test.xls", FileMode.Create);
hssfWorkbook.Write(file);
file.Close();

转载自:http://www.cnblogs.com/Murray/archive/2015/01/20/4235601.html

  

时间: 2024-10-20 10:11:31

NPOI_2.1.3-Excel中设置小数、百分比、货币、日期、科学计数法和金额大写的相关文章

NPOI_2.1.3_学习记录(6)-Excel中设置小数、百分比、货币、日期、科学计数法和金额大写

在操作Excel时候一些特殊值的转换是在所难免的,下面就给出转换方法大同小异,代码如下: HSSFWorkbook hssfWorkbook = new HSSFWorkbook(); ISheet sheet = hssfWorkbook.CreateSheet("Sheet1"); //设置第一列(Cell) 宽度 sheet.SetColumnWidth(0, 5000); //创建格式化 实例对象 IDataFormat format = hssfWorkbook.Create

POI设置EXCEL单元格格式为文本、小数、百分比、货币、日期、科学计数法和中文大写

再读本篇文章之前,请先看我的前一篇文章,前一篇文章中有重点讲到POI设置EXCEL单元格格式为文本格式,剩下的设置小数.百分比.货币.日期.科学计数法和中文大写这些将在下面一一写出 以下将要介绍的每一种都会用到这三行中的变量 HSSFWorkbook demoWorkBook = new HSSFWorkbook(); HSSFSheet demoSheet = demoWorkBook.createSheet("The World's 500 Enterprises"); HSSFC

在 Excel 中设置图片

package com.smbea.demo.excel; import java.awt.image.BufferedImage; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStrea

php导出数据到excel,防止身份证等数字字符格式变成科学计数的方-------缺点,必须使用table tr td

php导出数据到excel,防止身份证等数字字符格式变成科学计数的方 时间:2012-08-17 13:50来源:未知 作者:硅峰网络-红豆 点击:219次 在网上查了很多资料知道解决办法大概有两个:一是在身份证字段前加个英文单引号,二是设置Excel的格式为文本格式. 我试用过第一种确实可以显示,但是有个'号在那里感觉确实不是很好,虽然听说不影响,但是需要用户点击那个单元格那个单引号才消失,并且在该 在网上查了很多资料知道解决办法大概有两个:一是在身份证字段前加个英文单引号,二是设置Excel

关于PHPExcel导出Excel时身份证,数字会导出为科学计数的处理方法

原文:关于PHPExcel导出Excel时身份证,数字会导出为科学计数的处理方法 上次在开发一个项目时,用到PHPExcel导出数据,其中有导出身份证等长串数字时导出的Excel中显示为科学计数方式. 这种显示很不人性化而且量多了修改起来也很麻烦. 这是因为Excel处理数字里默认数字太长会转化为科学计数法,处理起来很简单,我们在导出时把数字转为字符串,Excel就不会识别为数字了,也就不会显示为科学计数方式. 我的处理方式是在变量后面加个空格,简单方便. $usercode .= ' '; $

Java语言中 将double类型不以科学计数法输出

<span style="font-size:18px;"> Double double1 = 1234567899.899; DecimalFormat decimalFormat = new DecimalFormat("#,##0.00");//格式化设置 System.out.println("--------" + decimalFormat.format(double1)); System.out.println(doub

怎么将excel中的小数变成整数(不只是隐藏小数部分哦)?

针对这个问题,通常网上的解决办法有如下两种: (1)使用round函数,这种方法能达到目的,但是,不能将原来的单元格删除,否则会报错: (2)修改单元格的格式,设置显示的小数位数为0,其实,这种方法达不到解决问题的目的,因为它只是隐藏了小数部分,而并没有去掉小数部分,若将excel存为其他格式的文件,小数部分仍然还会显示出来: (3)用查找和替换的方法,具体如下: 点击“全部替换”之后,出现如下效果: 由此可见,小数部分全部被剔除掉了.

C# Excel 中设置文字对齐方式、方向和换行

在Excel表格中输入文字时,我们常常需要调整文字对齐方式或者对文字进行换行.本文将介绍如何通过编程的方式设置文字对齐方式,改变文字方向以及对文字进行换行. //创建Workbook对象 Workbook wookbook = new Workbook(); Worksheet sheet = wookbook.Worksheets[0]; //添加说明文字 sheet.Range["B1"].Text = "文字对齐方式"; sheet.Range["D

Excel中 设置使得每行的颜色不一样

    在编写测试案例的时候,众多的excel行看的眼睛花花的,这里给出一个小技巧,设置Excel的每行显示的颜色不一样,最终的效果如下:    具体操作:     1. Ctrl+A全选所有表格区域或者用鼠标选择指定设置的区域     2.  选择     3.    4. 点击应用即可.  Technorati 标签: 办公技巧