@author YHC
格式化单元格数据:
//创建Excel
Workbook wb = new HSSFWorkbook();
//创建工作薄
Sheet sheet = wb.createSheet("format sheet");
//创建样式
CellStyle style;
//创建格式化数据对象
DataFormat format = wb.createDataFormat();
//创建行
Row row;
//创建单元格
Cell cell;
//
short rowNum = 0;
//
short colNum = 0;
//创建行
row = sheet.createRow(rowNum++);
//创建单元格
cell = row.createCell(colNum);
//设置Cell值
cell.setCellValue(11111.25);
//创建样式
style = wb.createCellStyle();
//设置格式化数据样式,保留一位小数
style.setDataFormat(format.getFormat("0.0"));
//应用此样式
cell.setCellStyle(style);
//创建新行
row = sheet.createRow(rowNum++);
//创建单元格
cell = row.createCell(colNum);
//设置值
cell.setCellValue(11111.25);
//创建样式
style = wb.createCellStyle();
//设置格式化数据格式, 模式中的"#"表示如果该位存在字符,则显示字符,如果不存在,则不显示。
//0表示该位有值则显示,没有则补0
style.setDataFormat(format.getFormat("#,##0.0000"));
//应用此样式
cell.setCellStyle(style);
//写入文件
FileOutputStream fileOut = new FileOutputStream("workbook.xls");
wb.write(fileOut);
fileOut.close();
运行后效果:
设置打印区域:
//创建Excel
Workbook wb = new HSSFWorkbook();
//创建工作簿
Sheet sheet = wb.createSheet("Sheet1");
//设置第一个工作簿上的打印区域 方法1
/// wb.setPrintArea(0, "$A$1:$C$2");
//设置第一个工作簿上的打印区域 方法2
//这里后面的四个参数和合并单元格的参数的意思是一样的
wb.setPrintArea(
0, //工作薄 下标0开始
0, //起始列 下标0开始
1, //终止列 下标0开始
0, //起始行 下标0开始
0 //终止行 下标0开始
);
//写入文件
FileOutputStream fileOut = new FileOutputStream("workbook.xls");
wb.write(fileOut);
fileOut.close();
设置后的效果图:
上面应该说单元格的线条变色的是打印区域;
如果以上有错误的地方还请大家指出!thanks!