已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
POI操作Excel常用方法总结一、 POI简介 Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能。二、 HSSF概况 HSSF 是Horrible SpreadSheet Format的缩写,通过HSSF,你可以用纯Java代码来读取、写入、修改Excel文件。HSSF 为读取操作提供了两类API:usermodel和eventusermodel,即“用户模型”和“事件-用户模型”。三、 POI EXCEL文档结构类 HSSFWorkbook excel文档对象 HSSFSheet excel的sheet HSSFRow excel的行 HSSFCell excel的单元格 HSSFFont excel字体 HSSFName 名称 HSSFDataFormat 日期格式 HSSFHeader sheet头 HSSFFooter sheet尾 HSSFCellStyle cell样式 HSSFDateUtil 日期 HSSFPrintSetup 打印 HSSFErrorConstants 错误信息表四、 EXCEL常用操作方法 1、 得到Excel常用对象 view plaincopy to clipboardprint?1. POIFSFileSystemfs=newPOIFSFileSystem(newFileInputStream(d:/test.xls);2. /得到Excel工作簿对象 3. HSSFWorkbookwb=newHSSFWorkbook(fs);4. /得到Excel工作表对象 5. HSSFSheetsheet=wb.getSheetAt(0);6. /得到Excel工作表的行 7. HSSFRowrow=sheet.getRow(i);8. /得到Excel工作表指定行的单元格 9. HSSFCellcell=row.getCell(short)j);10. cellStyle=cell.getCellStyle();/得到单元格样式2、建立Excel常用对象 view plaincopy to clipboardprint?1. HSSFWorkbookwb=newHSSFWorkbook();/创建Excel工作簿对象 2. HSSFSheetsheet=wb.createSheet(newsheet);/创建Excel工作表对象 3. HSSFRowrow=sheet.createRow(short)0);/创建Excel工作表的行 4. cellStyle=wb.createCellStyle();/创建单元格样式 5. row.createCell(short)0).setCellStyle(cellStyle);/创建Excel工作表指定行的单元格 6. row.createCell(short)0).setCellValue(1);/设置Excel工作表的值3、设置sheet名称和单元格内容 view plaincopy to clipboardprint?1. wb.setSheetName(1,第一张工作表,HSSFCell.ENCODING_UTF_16);2. cell.setEncoding(short)1);3. cell.setCellValue(单元格内容);4、取得sheet的数目 view plaincopy to clipboardprint?1. wb.getNumberOfSheets()5、 根据index取得sheet对象 view plaincopy to clipboardprint?1. HSSFSheetsheet=wb.getSheetAt(0);6、取得有效的行数 view plaincopy to clipboardprint?1. introwcount=sheet.getLastRowNum();7、取得一行的有效单元格个数 view plaincopy to clipboardprint?1. row.getLastCellNum();8、单元格值类型读写view plaincopy to clipboardprint?1. cell.setCellType(HSSFCell.CELL_TYPE_STRING);/设置单元格为STRING类型 2. cell.getNumericCellValue();/读取为数值类型的单元格内容9、设置列宽、行高view plaincopy to clipboardprint?1. sheet.setColumnWidth(short)column,(short)width);2. row.setHeight(short)height);10、添加区域,合并单元格view plaincopy to clipboardprint?1. Regionregion=newRegion(short)rowFrom,(short)columnFrom,(short)rowTo2. ,(short)columnTo);/合并从第rowFrom行columnFrom列 3. sheet.addMergedRegion(region);/到rowTo行columnTo的区域 4. /得到所有区域 5. sheet.getNumMergedRegions()11、保存Excel文件view plaincopy to clipboardprint?1. FileOutputStreamfileOut=newFileOutputStream(path);2. wb.write(fileOut);12、根据单元格不同属性返回字符串数值view plaincopy to clipboardprint?1. publicStringgetCellStringValue(HSSFCellcell)2. StringcellValue=;3. switch(cell.getCellType()4. caseHSSFCell.CELL_TYPE_STRING:/字符串类型 5. cellValue=cell.getStringCellValue();6. if(cellValue.trim().equals()|cellValue.trim().length()=0)7. cellValue=;8. break;9. caseHSSFCell.CELL_TYPE_NUMERIC:/数值类型 10. cellValue=String.valueOf(cell.getNumericCellValue();11. break;12. caseHSSFCell.CELL_TYPE_FORMULA:/公式 13. cell.setCellType(HSSFCell.CELL_TYPE_NUMERIC);14. cellValue=String.valueOf(cell.getNumericCellValue();15. break;16. caseHSSFCell.CELL_TYPE_BLANK:17. cellValue=;18. break;19. caseHSSFCell.CELL_TYPE_BOOLEAN:20. break;21. caseHSSFCell.CELL_TYPE_ERROR:22. break;23. default:24. break;25. 26. returncellValue;27. 13、常用单元格边框格式view plaincopy to clipboardprint?1. HSSFCellStylestyle=wb.createCellStyle();2. style.setBorderBottom(HSSFCellStyle.BORDER_DOTTED);/下边框 3. style.setBorderLeft(HSSFCellStyle.BORDER_DOTTED);/左边框 4. style.setBorderRight(HSSFCellStyle.BORDER_THIN);/右边框 5. style.setBorderTop(HSSFCellStyle.BORDER_THIN);/上边框14、设置字体和内容位置view plaincopy to clipboardprint?1. HSSFFontf=wb.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.setRotation(shortrotation);/单元格内容的旋转的角度 8. HSSFDataFormatdf=wb.createDataFormat();9. style1.setDataFormat(df.getFormat(0.00%);/设置单元格数据格式 10. cell.setCellFormula(string);/给单元格设公式 11. style.setRotation(shortrotation);/单元格内容的旋转的角度15、插入图片view plaincopy to clipboardprint?1. /先把读进来的图片放到一个ByteArrayOutputStream中,以便产生ByteArray 2. ByteArrayOutputStreambyteArrayOut=newByteArrayOutputStream();3. BufferedImagebufferImg=ImageIO.read(newFile(ok.jpg);4. ImageIO.write(bufferImg,jpg,byteArrayOut);5. /读进一个excel模版 6. FileInputStreamfos=newFileInputStream(filePathName+/stencil.xlt);7. fs=newPOIFSFileSystem(fos);8. /创建一个工作薄 9. HSSFWorkbookwb=newHSSFWorkbook(fs);10. HSSFSheetsheet=wb.getSheetAt(0);11. HSSFPatriarchpatriarch=sheet.createDrawingPatriarch();12. HSSFClientAnchoranchor=newHSSFClientAnchor(0,0,1023,255,(short)0,0,(short)10,10);13. patriarch.createPicture(anchor,wb.addPicture(byteArrayOut.toByteArray(),HSSFWorkbook.PICTURE_TYPE_JPEG);16、调整工作表位置view plaincopy to clipboardprint?1. HSSFWorkbookwb=newHSSFWorkbook();2. HSSFSheetsheet=wb.createSheet(formatsheet);3. HSSFPrintSetupps=sheet.getPrintSetup();4. sheet.setAutobreaks(true);5. ps.setFitHeight(short)1);6. ps.setFitWidth(short)1);17、设置打印区域view plaincopy to clipboardprint?1. HSSFSheetsheet=wb.createSheet(Sheet1);2. wb.setPrintArea(0,$A$1:$C$2);18、标注脚注view plaincopy to clipboardprint?1. HSSFSheetsheet=wb.createSheet(formatsheet);2. HSSFFooterfooter=sheet.getFooter()3. footer.setRight(Page+HSSFFooter.page()+of+HSSFFooter.numPages();19、在工作单中清空行数据,调整行位置view plaincopy to clipboardprint?1. HSSFWorkbookwb=newHSSFWorkbook();2. HSSFSheetsheet=wb.createSheet(rowsheet);3. /Createvariouscellsandrowsforspreadsheet. 4. /Shiftrows6-11onthespreadsheettothetop(rows0-5) 5. sheet.shiftRows(5,10,-5);20、选中指定的工作表view plaincopy to clipboardprint?1. HSSFSheetsheet=wb.createSheet(rowsheet);2. heet.setSelected(true);21、工作表的放大缩小 view plaincopy to clipboardprint?1. HSSFSheetsheet1=wb.createSheet(newsheet);2. sheet1.setZoom(1,2);/50percentmagnification22、头注和脚注view plaincopy to clipboardprint?1. HSSFSheetsheet=wb.createSheet(newsheet);2. HSSFHeaderheader=sheet.getHeader();3. header.setCenter(CenterHeader);4. header.setLeft(LeftHeader);5. header.setRight(HSSFHeader.font(Stencil-Normal,Italic)+6. HSSFHeader.fontSize(short)16)+Rightw/Stencil-NormalItalicfontandsize16);23、自定义颜色view plaincopy to clipboardprint?1. HSSFCellStylestyle=wb.createCellStyle();2. style.setFillForegroundColor(HSSFColor.LIME.index);3. style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);4. HSSFFontfont=wb.createFont();5. font.setColor(HSSFColor.RED.index);6. style.setFont(font);7. cell.setCellStyle(style);24、填充和颜色设置view plaincopy to clipboardprint?1. HSSFCellStylestyle=wb.createCellStyle();2. style.setFillBackgroundColor(HSSFColor.AQUA.index);3. style.setFillPattern(HSSFCellStyle.BIG_SPOTS);4. HSSFCellcell=row.createCell(short)1);5. cell.setCellValue(X);6. style=wb.createCellStyle();7. style.setFillForegroundColor(HSSFColor.ORANGE.index);8. style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);9. cell.setCellStyle(style);25、强行刷新单元格公式view plaincopy to clipboardprint?1. HSSFFormulaEvaluatorev
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年内蒙古自治区赤峰市教育系统事业编人员招聘考试参考题库及答案详解
- 2026年吉林省吉林市教育系统事业编人员招聘笔试参考题库及答案详解
- 2026年广州市白云区医疗系统事业编人员招聘笔试参考试题及答案详解
- 2026年焦作市马村区医疗系统事业编人员招聘笔试参考试题及答案详解
- 2026年江苏省常州市教育系统事业编人员招聘考试备考试题及答案详解
- 2026年沈阳市皇姑区医疗系统事业编人员招聘考试备考试题及答案详解
- 2026年佳木斯市向阳区医疗系统事业编人员招聘考试参考试题及答案详解
- 2026年内蒙古自治区呼伦贝尔市教育系统事业编人员招聘笔试参考试题及答案详解
- 2026年六安市裕安区医疗系统事业编人员招聘考试备考题库及答案详解
- 2026年内蒙古自治区赤峰市教育系统事业编人员招聘考试备考试题及答案详解
- 2026年重庆市“五方面人员”选拔乡镇领导班子考试历年参考题库(含完整答案)
- T/CECS 10214-2022钢面镁质复合风管
- 急诊科转诊制度
- GB/T 44709-2024旅游景区雷电灾害防御技术规范
- 架空乘人装置司机培训考试题库及答案
- DL∕T 5776-2018 水平定向钻敷设电力管线技术规定
- (正式版)SH∕T 3548-2024 石油化工涂料防腐蚀工程施工及验收规范
- 第一章 护理礼仪与美学课件
- 手术前后病人的护理
- 作业治疗技术复习试题含答案
- 团体心理辅导第2版(心理学专业)PPT完整全套教学课件
评论
0/150
提交评论