(1) 如何用Apache POI操作Excel文件-----入门

原创 2015年05月28日 23:01:07

Apache POI项目的目标就是可以用Java API来创建和维护各种Office文件(MS Word,MS PowerPoint和MS Excel). 本系列文章主要是针对Excel文件的操作。对于Excel的操作,Apache POI提供两种模型:HSSF和XSSF。 其区别,请参考下面的图1。截止到2015年5月28日,当前的最新版本是3.12. 具体信息,我们可以访问其官方网站:http://poi.apache.org/


1.下面是用Apache POI创建一个工作薄的基本的代码

import org.apache.poi.hssf.usermodel.HSSFWorkbook;

import java.io.FileOutputStream;
import java.io.IOException;

public class NewWorkbookTest
{
    public static void main(String[] args)
        throws IOException
    {
        HSSFWorkbook wb = new HSSFWorkbook();
        FileOutputStream fileOut = new FileOutputStream("helloworld.xls");
        wb.write(fileOut);
        fileOut.close();
    }
}


2.下面是用Apache POI创建一个Excel单元表单的代码

import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.ss.util.WorkbookUtil;
import java.io.IOException;
import java.io.FileOutputStream;


public class NewSheet {
    public static void main(String[] args) throws IOException {
        HSSFWorkbook wb = new HSSFWorkbook();
        HSSFSheet sheet1 = wb.createSheet("Sheet1");
        HSSFSheet sheet2 = wb.createSheet(); // create with default name
        final String name = "Sheet2";
        wb.setSheetName(1, WorkbookUtil.createSafeSheetName(name)); // setting sheet name later
        FileOutputStream fileOut = new FileOutputStream("workbooktest.xls");
        wb.write(fileOut);
        fileOut.close();
    }
}

3. 对于Excel 2007 我们需要用XSSFWorkbook对象去创建,而不是HSSFWorkbook,否则会抛出下面的异常。


org.apache.poi.poifs.filesystem.OfficeXmlFileException: The supplied data appears to be in the Office 2007+ XML. You are calling the part of POI that deals with OLE2 Office Documents. You need to call a different part of POI to process this data (eg XSSF instead of HSSF)
at org.apache.poi.poifs.storage.HeaderBlock.<init>(HeaderBlock.java:152)
at org.apache.poi.poifs.storage.HeaderBlock.<init>(HeaderBlock.java:140)
at org.apache.poi.poifs.filesystem.NPOIFSFileSystem.<init>(NPOIFSFileSystem.java:302)
at org.apache.poi.hssf.usermodel.HSSFWorkbook.<init>(HSSFWorkbook.java:398)
at org.apache.poi.hssf.usermodel.HSSFWorkbook.<init>(HSSFWorkbook.java:379)


import java.io.FileInputStream;
import java.io.IOException;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class ExcelTest{

  public XSSFWorkbook readSummaryExcel(String filename) throws IOException{
    FileInputStream fis=null;
    try {
         fis = new FileInputStream(filename);
        return new XSSFWorkbook(fis);
    } finally {
        if(fis!=null){
           fis.close();
        }
    }
  }

}



版权声明:本文为博主原创文章,未经博主允许不得转载。

Apache POI读写Excel文档入门(支持XLS和XLSX格式)

Apache POI是可用于Java程序,用于对Microsoft Office文档进行读写的API。本文通过一个简单的小例子,简要介绍通过Apache POI对Excel文档进行读写的方法。...
  • u014527058
  • u014527058
  • 2016年03月07日 12:31
  • 5166

apache POI学习(三)——生成带格式的excel表格

apache POI学习(三)——生成带格式的excel表格
  • wild46cat
  • wild46cat
  • 2016年08月31日 18:01
  • 563

apache的poi读写excel

apache的poi读写excel/* * Created on 2004-11-5 * * java读取excel文件 * */package readxls;import java.io.File...
  • yuansicau
  • yuansicau
  • 2006年08月31日 15:58
  • 4552

使用Apache POI开源包进行Excel读取

使用Apache POI开源包进行Excel读取
  • tonylee0329
  • tonylee0329
  • 2015年01月16日 14:39
  • 905

使用Apache POI生成和解析Excel文件

概述   Excel是我们平时工作中比较常用的用于存储二维表数据的,JAVA也可以直接对Excel进行操作,分别有jxl和poi,2种方式。   HSSF is the POI Proje...
  • m0_37327416
  • m0_37327416
  • 2017年05月23日 16:24
  • 354

Apache POI生成Excel表格并下载的一些注意事项

需求:从后台读取数据生成一张如下图的Excel表格,并提供Excel下载功能。 生成的Excel表格格式如下: 实现步骤: 一、通过Apache POI生成Excel: 1、请求链接为:...
  • hlbt0112
  • hlbt0112
  • 2016年01月15日 15:15
  • 533

Apache POI导入和导出Excel文件.

  • 2016年06月17日 19:05
  • 7.09MB
  • 下载

SpringMVC + Apache POI 实现WEB中Excel下载功能

项目中需要将web页面中的报表导出成Excel,在网上搜寻了写资料,实现了相关功能,如图1所示: 项目后台架构采用的是SpringMVC+Spring+Mybatis,通过引入Apache ...
  • u013256816
  • u013256816
  • 2015年09月17日 16:48
  • 5058

Java使用Apache poi 操作Excel-基本概念与使用

通过POI简化了EXCEL的操作,其中POI提供的WorkBook, spreadsheet,Row,Cell及其实现类来完成对Excel中对应部分(Excel文件,电子表格,行,单元格)的操作(读取...
  • Revivedsun
  • Revivedsun
  • 2017年01月02日 21:50
  • 1444

ApachePOI组件操作Excel,制作报表(三)

上一篇介绍了POI组件操作Excel时如何对单元格和行进行设置,合并单元格等操作,最后给出一个综合实例,就是制作复杂报表,原理就是涉及合并行和列的计算。     本篇就来详细分析一下复杂报表的分析与...
  • zmx729618
  • zmx729618
  • 2016年05月05日 16:14
  • 421
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:(1) 如何用Apache POI操作Excel文件-----入门
举报原因:
原因补充:

(最多只允许输入30个字)