版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、importjava.io.File;importjava.io.FileInputStream;importjava.io.FileNotFoundException;importjava.io.FileOutputStream;importjava.io.IOException;importjava.text.DecimalFormat;importjava.text.SimpleDateFormat;importjava.util.Date;importjava.util.LinkedList;importjava.util.List;importorg.apache.poi.hssf.
2、usermodel.HSSFCell;importorg.apache.poi.hssf.usermodel.HSSFCellStyle;importorg.apache.poi.hssf.usermodel.HSSFDataFormat;importorg.apache.poi.hssf.usermodel.HSSFDateUtil;importorg.apache.poi.hssf.usermodel.HSSFFont;importorg.apache.poi.hssf.usermodel.HSSFRow;importorg.apache.poi.hssf.usermodel.HSSFSh
3、eet;importorg.apache.poi.hssf.usermodel.HSSFWorkbook;importorg.apache.poi.hssf.util.HSSFColor;importorg.apache.poi.xssf.usermodel.XSSFCell;importorg.apache.poi.xssf.usermodel.XSSFCellStyle;importorg.apache.poi.xssf.usermodel.XSSFFont;importorg.apache.poi.xssf.usermodel.XSSFRow;importorg.apache.poi.x
4、ssf.usermodel.XSSFSheet;importorg.apache.poi.xssf.usermodel.XSSFWorkbook;/*可以从/这里下载到POI的jar包POI创建和读取2003-2007版本Excel文件*/publicclassCreatAndReadExcelpublicstaticvoidmain(Stringargs)throwsExceptioncreat2003Excel();/创建2007版Excel文件creat2007Excel();/创建2003版Excel文件/读取2003Excel文件获取项目文件路
5、Stringpath2003=System.getProperty("user.dir")+System.getProperty("file.separator")+"style_2003.xls"/+2003版文件名System.out.println("路径:"+path2003);Filef2003=newFile(path2003);tryreadExcel(f2003);catch(IOExceptione)/TODOAuto-generatedcatchblocke.printStackTrace();
6、/读取2007Excel文件Stringpath2007=System.getProperty("user.dir")+System.getProperty("file.separator")+"style_2007.xlsx"/获取项目文件路径+2007版文件名System.out.println("路径:"+path2007);Filef2007=newFile(path2007);tryreadExcel(f2007);catch(IOExceptione)/TODOAuto-generatedcatchbl
7、ocke.printStackTrace();创建2007版Excel文件*throwsFileNotFoundException*throwsIOException*/privatestaticvoidcreat2007Excel()throwsFileNotFoundException,IOException/HSSFWorkbookworkBook=newHSSFWorkbook();/创建一个excel文档对象XSSFWorkbookworkBook=newXSSFWorkbook();XSSFSheetsheet=workBook.createSheet();/创建一个工作薄对象sh
8、eet.setColumnWidth(1,10000);/设置第二列的宽度为XSSFRowrow=sheet.createRow(1);/创建一个行对象row.setHeightInPoints(23);/设置行高23像素XSSFCellStylestyle=workBook.createCellStyle();/创建样式对象/设置字体XSSFFontfont=workBook.createFont();/创建字体对象font.setFontHeightInPoints(short)15);/设置字体大小font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
9、/设置粗体font.setFontName("黑体");/设置为黑体字style.setFont(font);/将字体加入到样式对象/设置对齐方式style.setAlignment(HSSFCellStyle.ALIGN_CENTER_SELECTION);水平居中style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);/垂直居中/设置边框style.setBorderTop(HSSFCellStyle.BORDER_THICK);/顶部边框粗线style.setTopBorderColor(HSSFColor.
10、RED.index);/设置为红色style.setBorderBottom(HSSFCellStyle.BORDER_DOUBLE);/底部边框双线style.setBorderLeft(HSSFCellStyle.BORDER_MEDIUM);/左边边框style.setBorderRight(HSSFCellStyle.BORDER_MEDIUM);/右边边框/格式化日期style.setDataFormat(HSSFDataFormat.getBuiltinFormat("m/d/yyh:mm");XSSFCellcell=row.createCell(1);/创建
11、单元格cell.setCellValue(newDate();/写入当前日期cell.setCellStyle(style);/应用样式对象/文件输出流FileOutputStreamos=newFileOutputStream("style_2007.xlsx");workBook.write(os);/将文档对象写入文件输出流os.close();/关闭文件输出流System.out.println("创建成功office2007excel");/*创建2003版本的Excel文件*/privatestaticvoidcreat2003Excel()
12、throwsFileNotFoundException,IOExceptionHSSFWorkbookworkBook=newHSSFWorkbook();/创建一个excel文档对象HSSFSheetsheet=workBook.createSheet();/创建一个工作薄对象sheet.setColumnWidth(1,10000);/设置第二列的宽度为HSSFRowrow=sheet.createRow(1);/创建一个行对象row.setHeightInPoints(23);/设置行高23像素HSSFCellStylestyle=workBook.createCellStyle();/
13、创建样式对象/设置字体HSSFFontfont=workBook.createFont();/创建字体对象font.setFontHeightInPoints(short)15);/设置字体大小font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);/设置粗体font.setFontName("黑体");/设置为黑体字style.setFont(font);/将字体加入到样式对象/设置对齐方式style.setAlignment(HSSFCellStyle.ALIGN_CENTER_SELECTION);水平居中style.setVerti
14、calAlignment(HSSFCellStyle.VERTICAL_CENTER);/垂直居中/设置边框style.setBorderTop(HSSFCellStyle.BORDER_THICK);/顶部边框粗线style.setTopBorderColor(HSSFColor.RED.index);/设置为红色style.setBorderBottom(HSSFCellStyle.BORDER_DOUBLE);/底部边框双线style.setBorderLeft(HSSFCellStyle.BORDER_MEDIUM);/左边边框style.setBorderRight(HSSFCell
15、Style.BORDER_MEDIUM);/右边边框/格式化日期style.setDataFormat(HSSFDataFormat.getBuiltinFormat("m/d/yyh:mm");HSSFCellcell=row.createCell(1);/创建单元格cell.setCellValue(newDate();/写入当前日期cell.setCellStyle(style);/应用样式对象/文件输出流FileOutputStreamos=newFileOutputStream("style_2003.xls");workBook.write(
16、os);/将文档对象写入文件输出流os.close();/关闭文件输出流System.out.println("创建成功office2003excel");/*对外提供读取excel的方法*/publicstaticList<List<Object>>readExcel(Filefile)throwsIOExceptionStringfileName=file.getName();Stringextension=fileName.lastIndexOf(".")=-1?"":fileName.substring
17、(fileName.lastIndexOf(".")+1);if("xls".equals(extension)returnread2003Excel(file);elseif("xlsx".equals(extension)returnread2007Excel(file);elsethrownewIOException("不支持的文件类型");读取office2003excel*throwsIOException*throwsFileNotFoundException*/privatestaticList<
18、;List<Object>>read2003Excel(Filefile)throwsIOExceptionList<List<Object>>list=newLinkedList<List<Object>>();HSSFWorkbookhwb=newHSSFWorkbook(newFileInputStream(file);HSSFSheetsheet=hwb.getSheetAt(0);Objectvalue=null;HSSFRowrow=null;HSSFCellcell=null;System.out.println(
19、"读取office2003excel内容如下:");for(inti=sheet.getFirstRowNum();i<=sheet.getPhysicalNumberOfRows();i+)row=sheet.getRow(i);if(row=null)continue;List<Object>linked=newLinkedList<Object>();for(intj=row.getFirstCellNum();j<=row.getLastCellNum();j+)cell=row.getCell(j);if(cell=null)c
20、ontinue;DecimalFormatdf=newDecimalFormat("0");/格式化numberString/字符SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss");/格式化日期字符串DecimalFormatnf=newDecimalFormat("0.00");/格式化数字switch(cell.getCellType()caseXSSFCell.CELL_TYPE_STRING:/System.out.println(i+"行&qu
21、ot;+j+"列isStringtype");value=cell.getStringCellValue();System.out.print(""+value+"");break;caseXSSFCell.CELL_TYPE_NUMERIC:/System.out.println(i+"行"+j/+"列isNumbertype;DateFormt:"/+cell.getCellStyle().getDataFormatString();if("".equals(cell.g
22、etCellStyle().getDataFormatString()value=df.format(cell.getNumericCellValue();elseif("General".equals(cell.getCellStyle().getDataFormatString()value=nf.format(cell.getNumericCellValue();elsevalue=sdf.format(HSSFDateUtil.getJavaDate(cell.getNumericCellValue();System.out.print(""+v
23、alue+"");break;caseXSSFCell.CELL_TYPE_BOOLEAN:/System.out.println(i+"行"+j+"列isBooleantype");value=cell.getBooleanCellValue();System.out.print(""+value+"");break;caseXSSFCell.CELL_TYPE_BLANK:/System.out.println(i+"行"+j+"列isBlanktype&quo
24、t;);value=""System.out.print(""+value+"");break;default:/System.out.println(i+"行"+j+"列isdefaulttype");value=cell.toString();System.out.print(""+value+"");if(value=null|"".equals(value)continue;linked.add(value);System.ou
25、t.println("");list.add(linked);returnlist;*读取Office2007excel*/privatestaticList<List<Object>>read2007Excel(Filefile)throwsIOExceptionList<List<Object>>list=newLinkedList<List<Object>>();/Stringpath=System.getProperty("user.dir")+/System.getProp
26、erty("file.separator")+"dd.xlsx"/System.out.println("路径:"+path);/构造XSSFWorkbook对象,strPath传入文件路径XSSFWorkbookxwb=newXSSFWorkbook(newFileInputStream(file);/读取第一章表格内容XSSFSheetsheet=xwb.getSheetAt(0);Objectvalue=null;XSSFRowrow=null;XSSFCellcell=null;System.out.println("
27、;读取office2007excel内容如下:");for(inti=sheet.getFirstRowNum();i<=sheet.getPhysicalNumberOfRows();i+)row=sheet.getRow(i);if(row=null)continue;List<Object>linked=newLinkedList<Object>();for(intj=row.getFirstCellNum();j<=row.getLastCellNum();j+)cell=row.getCell(j);if(cell=null)contin
28、ue;DecimalFormatdf=newDecimalFormat("0");/格式化numberString/字符SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss");/格式化日期字符串DecimalFormatnf=newDecimalFormat("0.00");/格式化数字switch(cell.getCellType()caseXSSFCell.CELL_TYPE_STRING:/System.out.println(i+"行"+j+"列isStringtype");value=cell.getStringCellValue();System.out.print(""+value+"");break;caseXSSFCell.CELL_TYPE_NUMERIC:/System.out.println(i+"行"+j/+"列isNumbertype;DateFormt:"/+cell.getCellStyle().getDataFormatStrin
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025福建中闽能源股份有限公司招聘19人(公共基础知识)综合能力测试题附答案
- 2026年许昌电气职业学院单招(计算机)考试备考题库附答案
- 2026年湄洲湾职业技术学院单招(计算机)测试模拟题库附答案
- 2026年陕西艺术职业学院单招(计算机)考试备考题库附答案
- 2025广西玉林市玉州区城北街道社区卫生服务中心招聘乡村医生2人备考题库附答案
- 2026年云南工贸职业技术学院单招(计算机)测试模拟题库附答案
- 2026保安员(初级)考试题模拟考试题库及答案参考
- 2026年交管12123学法减分复习考试题库【有一套】
- 2026年一级注册建筑师之建筑经济、施工与设计业务管理考试题库300道含答案
- 2026年上海市松江区九亭中学教师招聘备考题库附答案
- 【超星尔雅学习通】航空与航天网课章节答案
- 2022年福州大学计算机科学与技术专业《操作系统》科目期末试卷B(有答案)
- 附件1:中国联通动环监控系统B接口技术规范(V3.0)
- 闭合性颅脑损伤病人护理查房
- 《立血康软胶囊研究6400字(论文)》
- 学术综合英语课后题答案罗立胜
- GB/T 19216.21-2003在火焰条件下电缆或光缆的线路完整性试验第21部分:试验步骤和要求-额定电压0.6/1.0kV及以下电缆
- 10kV交联聚乙烯电缆热缩终端头制作作业指导书
- GB 15193.19-2015食品安全国家标准致突变物、致畸物和致癌物的处理方法
- 活体动物体内成像技术课件
- 非金融企业直接债务融资工具介绍课件
评论
0/150
提交评论