`
flysnowxf
  • 浏览: 578678 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

poi使用问题总结

    博客分类:
  • Java
阅读更多
poi是由apache开发的分析微软office文档的工具包,其中比较常用的是excel组件。以下总结遇到的几个问题。

1.兼容07和03时的bug
   
public static Workbook getWorkbook(InputStream is) {
          Workbook wb = null;
          try {
               // 2007
               wb = new XSSFWorkbook(is);
          } catch (Exception e) {
               // 2003
               try {
                    wb = new HSSFWorkbook(is);
               } catch (Exception ex) {
                    ex.printStackTrace();
               }
          }

          return wb;
     }

当读取03的xls时,会报错:
java.io.IOException: Read error

原因:is流已经被XSSFWorkbook读取了,所以is流再给HSSFWorkbook读取时就会出现问题。
解决:
    
public static Workbook getWorkbook(byte[] data) {
          Workbook wb = null;
          try {
               // 2007
               wb = new XSSFWorkbook(new ByteArrayInputStream(data));
          } catch (Exception e) {
               // 2003
               try {
                    wb = new HSSFWorkbook(new ByteArrayInputStream(data));
               } catch (Exception ex) {
                    ex.printStackTrace();
               }
          }

          return wb;
     }


2.使用foreach读取row时不返回空白单元格
for(Row row : sheet) {
}

比如内容为:
账号     密码     昵称     性别
1          123      a          1
2          123                  1
第一行row返回[1,123,a,1]
第二行row返回[1,123,1],注意这里跳过了昵称。
要返回每个单元格的内容,必须使用row.getCell(序号)的方式,比如:
nameCell=row.getCell(0);
pwdCell=row.getCell(1);
nicknameCell=row.getCell(2);
genderCell=row.getCell(3);

如果cell为null,就表示空白。
分享到:
评论

相关推荐

    POI使用方法表

    ### POI使用方法详解 #### 一、简介 Apache POI是Java API中用于处理Microsoft Office格式文件(如Excel和Word)的一个强大的工具包。它提供了读取、创建和修改这些文件的功能,而无需安装Office软件。本篇文档将...

    poi读写excel+poi总结

    在本文中,我们将深入探讨如何使用POI进行Excel的读写操作,并进行总结。 1. POI基本概念 Apache POI 提供了HSSF(Horrible Spreadsheet Format)用于读写旧版的.xls格式的Excel文件,而XSSF则用于处理.xlsx格式的...

    poi使用总结

    个人整理的POI解析EXCEL常用API详解 里面包括我在使用过程中的一些心得

    poi使用说明

    POI_3.8_API.CHM; POI3.5_HSSF_和XSSF_Excel操作快速入门手册.pdf; poi-bin-3.9-20121203.zip; poi使用总结.txt; POI整理.doc;

    POI使用Excel模板文件循环输出行并导出Excel

    总结,Apache POI提供了一套完整的API,使得在Java中操作Excel文件变得简单。通过循环读取数据和应用模板,我们可以快速生成大量定制化的Excel报告。在"poiDemo2"这个示例中,你可以找到具体实现这些步骤的代码,...

    poi 生成pdf等

    "poi 生成pdf等" 这个标题指的是使用Apache POI库来创建PDF和其他格式的文档。Apache POI是一个流行的开源Java API,主要用于读取和写入Microsoft Office格式的文件,如Word(.doc, .docx)、Excel(.xls, .xlsx)等...

    Java使用poi-tl生成word文档

    Java使用Apache POI-TL库生成Word文档是一个...总结起来,Apache POI-TL是Java开发中生成Word文档的强大工具,它结合了Apache POI的底层操作能力和基于模板的生成方式,使得开发者能方便快捷地创建专业级别的Word文档。

    poi4.1.1所有相关jar包汇总

    标题提到的"poi4.1.1所有相关jar包汇总"意味着这是一个包含Apache POI 4.1.1版本所有必需的库文件的集合,用于在Java项目中处理Excel文件。 Apache POI 4.1.1版的主要亮点包括: 1. **增强的性能**:新版本通常会...

    使用poi方式导出excel(分多个sheet导出)

    本教程将详细介绍如何利用Apache POI库来实现使用多个Sheet(工作簿)导出一个Excel文件的功能。 一、Apache POI简介 Apache POI 是一个开源项目,提供API来读取、写入和修改Microsoft Office文件格式,如Word(DOC...

    linux下poi读取word空指针异常问题解决

    ### Linux下使用POI读取Word文件出现空指针异常问题解决方案 #### 问题背景 在使用Apache POI处理Word文档时,在Linux环境下遇到了`java.lang.NullPointerException`异常。异常的具体位置出现在`org.apache.poi....

    poi-3.10.1上传组件jar包 po poi-ooxml poi-ooxml-schemas

    总结来说,Apache POI 3.10.1版本的上传组件为Java开发者提供了一套强大的工具,用于处理和操作Microsoft Office的文件格式,涵盖了Excel、Word和PowerPoint的多种功能,大大提升了开发效率并扩展了应用的可能性。

    poi-3.9、poi-ooxml-3.9、poi-ooxml-schemas-3.9

    总结来说,Apache POI 是Java开发中处理Excel文件的强大工具,它提供了全面的API来操作Excel的各种特性。结合 poi-3.9.jar、poi-ooxml-3.9.jar 和 poi-ooxml-schemas-3.9.jar 这三个库,开发者可以构建出功能丰富的...

    POI3.8架构总结.docx

    下面通过一个示例来展示如何使用 POI 创建 Excel 文档。 ```java import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel....

    使用poi从数据库导出excel表的示例

    总结起来,"使用poi从数据库导出excel表的示例"是一个结合了Struts1 MVC框架和Apache POI库的Java编程任务,它涉及数据库连接、SQL查询、Excel文件生成以及Web应用响应。这个过程不仅有助于数据的高效管理和分享,也...

    使用POI操作word

    总结,Apache POI是一个强大的工具,它允许开发者用Java编程语言无缝地操作Word和Excel文档。通过理解其API和类结构,可以实现复杂的文档处理需求,如自动化报告生成、数据导入导出等。在实际应用中,应根据需求选择...

    POI-TL合并多个Word文档

    总结起来,"POI-TL合并多个Word文档"涉及到的关键技术有Apache POI的XWPF组件用于读写.docx文件,以及POI-TL库提供的模板处理功能,使得在Java程序中高效地合并和生成Word文档成为可能。这在处理批量报告、合同生成...

    poi2000-2003

    这个压缩包很可能是历年POI比赛的题目、数据集和部分解决方案的汇总,对于参赛者或对算法学习有兴趣的人来说是一份宝贵的学习资源。 描述中提到的“所有数据以及题目”,意味着包内包含了历年的比赛题目文本、输入...

    利用java poi操作ppt

    总结,Java POI为开发者提供了一种方便的方式来自动化处理PowerPoint文件,无论是创建全新的演示文稿,还是编辑已有的PPT文件,都能灵活应对。通过阅读和实践提供的示例代码,你将能够更好地掌握这一技能。

    POI中文帮助文档.pdf

    根据提供的文件信息,本文将对“POI中文帮助文档”中的关键知识点进行详细的解析与总结。Apache POI项目提供了一套强大的API,用于处理Microsoft Office格式的文件,特别是Excel(.xls和.xlsx)和Word(.doc和.docx...

    Java 使用poi导入excel 并使用xml做数据验证

    总结来说,这个项目展示了如何利用Java的Apache POI库读取Excel数据,结合XML解析进行数据验证,最后将验证通过的数据导入到数据库。这个过程涉及到文件I/O、XML处理、数据验证、数据库操作等多个核心Java技术,对于...

Global site tag (gtag.js) - Google Analytics