1、5. HSSFSheetsheetwb.getSheetAt(0);6. /得到Excel工作表的行7. HSSFRowrowsheet.getRow(i);8. /得到Excel工作表指定行的单元格9. HSSFCellcellrow.getCell(short)j);10. cellStylecell.getCellStyle();/得到单元格样式2、建立Excel常用对象1. HSSFWorkbookHSSFWorkbook();/创建Excel工作簿对象 2. HSSFSheetwb.createSheet(sheet);/创建Excel工作表对象3. HSSFRowsheet.cre
2、ateRow(short)0);/创建Excel工作表的行 4. cellStylewb.createCellStyle();/创建单元格样式 5. row.createCell(short)0).setCellStyle(cellStyle);/创建Excel工作表指定行的单元格 6. row.createCell(short)0).setCellValue(1);/设置Excel工作表的值3、设置sheet名称和单元格内容1. wb.setSheetName(1,第一张工作表,HSSFCell.ENCODING_UTF_16);2. cell.setEncoding(short)1);3.
3、 cell.setCellValue(单元格内容4、取得sheet的数目1. wb.getNumberOfSheets()5、根据index取得sheet对象1. HSSFSheet6、取得有效的行数1. introwcountsheet.getLastRowNum();7、取得一行的有效单元格个数1. row.getLastCellNum();8、单元格值类型读写1. cell.setCellType(HSSFCell.CELL_TYPE_STRING);/设置单元格为STRING类型 2. cell.getNumericCellValue();/读取为数值类型的单元格内容9、设置列宽、行高
4、1. sheet.setColumnWidth(short)column,(short)width);2. row.setHeight(short)height);10、添加区域,合并单元格1. RegionregionRegion(short)rowFrom,(short)columnFrom,(short)rowTo2. ,(short)columnTo);/合并从第rowFrom行columnFrom列 3. sheet.addMergedRegion(region);/到rowTo行columnTo的区域4. /得到所有区域5. sheet.getNumMergedRegions()1
5、1、保存Excel文件1. FileOutputStreamfileOutFileOutputStream(path);2. wb.write(fileOut);12、根据单元格不同属性返回字符串数值1. publicStringgetCellStringValue(HSSFCellcell)2. cellValue;3. switch(cell.getCellType()4. caseHSSFCell.CELL_TYPE_STRING:/字符串类型 5. cell.getStringCellValue();6. if(cellValue.trim().equals()|cellValue.t
6、rim().length()=0)7. cellValue=8. break;9. HSSFCell.CELL_TYPE_NUMERIC:/数值类型 10. String.valueOf(cell.getNumericCellValue();11. 12. HSSFCell.CELL_TYPE_FORMULA:/公式 13. cell.setCellType(HSSFCell.CELL_TYPE_NUMERIC);14. 15. 16. HSSFCell.CELL_TYPE_BLANK:17. 18. 19. HSSFCell.CELL_TYPE_BOOLEAN:20. 21. HSSFCel
7、l.CELL_TYPE_ERROR:22. 23. default:24. 25. 26. returncellValue;27. 13、常用单元格边框格式1. HSSFCellStylestyle2. style.setBorderBottom(HSSFCellStyle.BORDER_DOTTED);/下边框3. style.setBorderLeft(HSSFCellStyle.BORDER_DOTTED);/左边框4. style.setBorderRight(HSSFCellStyle.BORDER_THIN);/右边框5. style.setBorderTop(HSSFCellSt
8、yle.BORDER_THIN);/上边框14、设置字体和内容位置1. HSSFFontfwb.createFont();2. f.setFontHeightInPoints(short)11);/字号3. f.setBoldweight(HSSFFont.BOLDWEIGHT_NORMAL);/加粗4. style.setFont(f);5. style.setAlignment(HSSFCellStyle.ALIGN_CENTER);/左右居中6. style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);/上下居中7. style
9、.setRotation(shortrotation);/单元格内容的旋转的角度8. HSSFDataFormatdfwb.createDataFormat();9. style1.setDataFormat(df.getFormat(0.00%/设置单元格数据格式10. cell.setCellFormula(string);/给单元格设公式11. style.setRotation(short15、插入图片1. /先把读进来的图片放到一个ByteArrayOutputStream中,以便产生ByteArrayByteArrayOutputStreambyteArrayOutByteArra
10、yOutputStream();BufferedImagebufferImgImageIO.read(newFile(ok.jpgImageIO.write(bufferImg,jpg,byteArrayOut);5. /读进一个excel模版6. FileInputStreamfosFileInputStream(filePathName+/stencil.xlt7. fsPOIFSFileSystem(fos);8. /创建一个工作薄9. HSSFWorkbook10. HSSFSheet11. HSSFPatriarchpatriarchsheet.createDrawingPatria
11、rch();12. HSSFClientAnchoranchorHSSFClientAnchor(0,0,1023,255,(short)0,0,(short)10,10);13. patriarch.createPicture(anchor,wb.addPicture(byteArrayOut.toByteArray(),HSSFWorkbook.PICTURE_TYPE_JPEG);16、调整工作表位置format3. HSSFPrintSetuppssheet.getPrintSetup();4. sheet.setAutobreaks(true);5. ps.setFitHeight(
12、short)1);6. ps.setFitWidth(short)1);17、设置打印区域Sheet12. wb.setPrintArea(0,$A$1:$C$218、标注脚注2. HSSFFooterfootersheet.getFooter()3. footer.setRight(Page+HSSFFooter.page()ofHSSFFooter.numPages()19、在工作单中清空行数据,调整行位置3. /Createvariouscellsandrowsforspreadsheet.4. /Shift6-11onthespreadsheettotop(rows05)5. shee
13、t.shiftRows(5,10,-5);20、选中指定的工作表2. heet.setSelected(true);21、工作表的放大缩小sheet12. sheet1.setZoom(1,2);50percentmagnification22、头注和脚注2. HSSFHeaderheadersheet.getHeader();3. header.setCenter(CenterHeader4. header.setLeft(Left5. header.setRight(HSSFHeader.font(Stencil-NormalItalic)6. HSSFHeader.fontSize(sh
14、ort)16)Rightw/Stencil-NormalItalicfontsize1623、自定义颜色2. style.setFillForegroundColor(HSSFColor.LIME.index);3. style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);4. HSSFFont5. font.setColor(HSSFColor.RED.index);6. style.setFont(font);7. cell.setCellStyle(style);24、填充和颜色设置2. style.setFillBackgroundCo
15、lor(HSSFColor.AQUA.index);3. style.setFillPattern(HSSFCellStyle.BIG_SPOTS);4. HSSFCellrow.createCell(short)5. cell.setCellValue(X6. style7. style.setFillForegroundColor(HSSFColor.ORANGE.index);8. style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);9. cell.setCellStyle(style);25、强行刷新单元格公式1. HSSFForm
16、ulaEvaluatoreval=newHSSFFormulaEvaluator(HSSFWorkbook)wb);2. privatestaticvoidupdateFormula(Workbookwb,Sheets,introw)Rowr=s.getRow(row);Cellc=null;FormulaEcaluatoreval=null;if(wbinstanceofHSSFWorkbook)elseXSSFWorkbook)XSSFFormulaEvaluator(XSSFWorkbook)for(inti=r.getFirstCellNum();ir.getLastCellNum()
17、;i+)c=r.getCell(i);if(c.getCellType()=Cell.CELL_TYPE_FORMULA)eval.evaluateFormulaCell(c);说明:FormulaEvaluator提供了evaluateFormulaCell(Cell cell)方法,计算公式保存结果,但不改变公式。而evaluateInCell(Cell cell) 方法是计算公式,并将原公式替换为计算结果,也就是说该单元格的类型不在是Cell.CELL_TYPE_FORMULA而是Cell.CELL_TYPE_NUMBERIC。HSSFFormulaEvaluator提供了静态方法evaluateAllFormulaCells(HSSFWorkbook wb) ,计算一个Excel文件的所有公式,用起来很方便。-
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2