欢迎来到天天文库
浏览记录
ID:6075307
大小:46.50 KB
页数:16页
时间:2018-01-02
《java操作excel表格经典例子详解》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Microsoft的Office系列产品拥有大量的用户,Word、Excel也成为办公文件的首选。在Java中,已经有很多对于Word、Excel的开源的解决方案,其中比较出色的是Apache的Jakata项目的POI子项目。该项目的官方网站是http://jakarta.apache.org/poi/。POI包括一系列的API,它们可以操作基于MicroSoftOLE2CompoundDocumentFormat的各种格式文件,可以通过这些API在Java中读写Excel、Word等文件。POI是完全的JavaExcel和JavaWord解决方案。POI子项目包括:POIFS、HSSF
2、、HDF、HPSF。表7-2对它们进行了简要介绍。表7-2POI子项目介绍子项目名说明POIFS(POIFileSystem)POIFS是POI项目中最早的最基础的一个模块,是Java到OLE2CompoundDocumentFormat的接口,支持读写功能,所有的其他项目都依赖与该项目。HSSF(HorribleSpreadsheetFormat)HSSF是Java到MicrosoftExcel97(-2002)文件的接口,支持读写功能HWPF(HorribleWordProcessingFormat)HWPF是Java到MicrosoftWord97文件的接口,支持读写功能,但目前该
3、模块还处于刚开始开发阶段,只能实现一些简单文件的操作,在后续版本中,会提供更强大的支持HPSF(HorriblePropertySetFormat)HPSF是Java到OLE2CompoundDocumentFormat文件的属性设置的接口,属性设置通常用来设置文档的属性(标题,作者,最后修改日期等),还可以设置用户定义的属性。HPSF支持读写功能,当前发布版本中直支持读功能。7.3.1对Excel的处理类下面通过HSSF提供的接口对Excel文件经行处理。首先需要下载POI的包,可以到apache的官方网站下载,地址为:http://apache.justdn.org/jakarta/
4、poi/,本书采用的是poi-2.5.1-final-20040804.jar,读者可以下载当前的稳定版本。把下载的包按照前面介绍的方式加入BuildPath,然后新建一个ch7.poi包,并创建一个ExcelReader类。ExcelReader类可以读取一个XLS文件,然后将其内容逐行提取出来,写入文本文件。其代码如下。代码7.6publicclassExcelReader{ //创建文件输入流 privateBufferedReaderreader=null; //文件类型 privateStringfiletype; //文件二进制输入流 privateInputSt
5、reamis=null; //当前的Sheet privateintcurrSheet; //当前位置 privateintcurrPosition; //Sheet数量 privateintnumOfSheets; //HSSFWorkbook HSSFWorkbookworkbook=null; //设置Cell之间以空格分割 privatestaticStringEXCEL_LINE_DELIMITER=""; //设置最大列数 privatestaticintMAX_EXCEL_COLUMNS=64; //构造函数创建一个ExcelReader pub
6、licExcelReader(Stringinputfile)throwsIOException,Exception{ //判断参数是否为空或没有意义 if(inputfile==null
7、
8、inputfile.trim().equals("")){ thrownewIOException("noinputfilespecified"); } //取得文件名的后缀名赋值给filetype this.filetype=inputfile.substring(inputfile.lastIndexOf(".")+1); //设置开
9、始行为0 currPosition=0; //设置当前位置为0 currSheet=0; //创建文件输入流 is=newFileInputStream(inputfile); //判断文件格式 if(filetype.equalsIgnoreCase("txt")){ //如果是txt则直接创建BufferedReader读取 reader=new
此文档下载收益归作者所有