前些天自动生成Excel在网上找的资料,找了了以前没有听过的poi东东,又学了点新知识,呵呵。
不是一个完整代码段,是从网上copy的零星片段,只是给英语不好的初次使用者在做的过程提供属性 方法使用的示例。也懒得自己写。
下面是用POI HSSF操作Excel文件的方法简述:
一, 建立Excel工作薄HSSFWorkbook wb =new HSSFWorkbook();
二, 建立Excel工作表,每个工作表对应的是Excel界面左下角的一个标签sheet1,sheet2 …HSSFSheet sheet1= wb.createSheet("new sheet");
三, 在工作表中建立单元格
//首先,建立行对像,行号作为参数传给createRow方法,第一行由0开始计算。
HSSFRow row = sheet.createRow((short)0);
//建单元格
HSSFCell cell = row.createCell((short)0);
//给单元格赋值
cell.setCellValue(1);
//也可同一行内完成建立单元格和赋值
row.createCell((short)1).setCellValue(1.2);
row.createCell((short)2).setCellValue("This is a string");
row.createCell((short)3).setCellValue(true);
//数据格式可通过创建单元格值时默认如上面所视//也可以创建单元格后调用setCellType指定cell.setCellType(CELL_TYPE_NUMERIC);
四, 向单元格插入日期值HSSFWorkbook wb =new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("new sheet");
// 可通过Sheet.setSheetName(sheetindex,"SheetName",encoding)设定工作表名// 创建新行并向其加入单元格,行号由0开始。
HSSFRow row = sheet.createRow((short)0);
// 创建一个单元格并向其输入一日期值,但这第一个单元格并非是日期格式。
HSSFCell cell = row.createCell((short)0);cell.setCellValue(new Date());
// 我们将这第二个单元格改成日期格式,这需要从工作薄创建一个新的单元格格式,这可// 以只影响当前建立的一个单元格。
HSSFCellStyle cellStyle= wb.createCellStyle();
cellStyle.setDataFormat(HSSFDataFormat.getBuiltinFormat("m/d/yy h:mm"));
cell = row.createCell((short)1);
cell.setCellValue(new Date());
cell.setCellStyle(cellStyle);
五, 各种单元格样式HSSFCellStyle cellStyle = wb.createCellStyle();
//对齐cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);
//带边框cellStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN);
//颜色与填充样式cellStyle.setFillBackgroundColor(HSSFColor.AQUA.index);
[color=#FF0000]cellStyle.setFillPattern(HSSFCellStyle.BIG_SPOTS);
[/color]cellStyle.setFillForegroundColor(HSSFColor.ORANGE.index);
cellStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
六, 行高,列宽。
HSSFWorkbook wb =new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("new sheet");
HSSFRow row = sheet.createRow((short)0);
//2是行高值row.setRowHeight(2);
//3是列号,4是列宽值sheet.setColumnWidth(3,4);
font.setCharSet(HSSFFont.DEFAULT_CHARSET);
font.setFontHeightInPoints(20);//更改默认字体大小
font.setFontName("宋体");//