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

使用 POI 操纵 Excel 2007

阅读更多
使用 POI 操纵 Excel 2007


这是两个例程,是演示如何使用Java读取和写入Excel 2007 文件。注释里有比较详细的开发环境说明,你只要在Eclipse里粘过去不可以运行了。
例程使用的是POI-XSSF,而不是HSSF,这个地方要注意一下,不过他们的用法很类似,如果你看明白一个了,应该很容易理解另一个
非常感谢大家能阅读我的文章。如果还有什么问题,请大家与我联系QQ:21807822,e-mail: dukejoe@163.com 转载请注明出处为 http://blog.donews.com/dukejoe/archive/2009/10/22/1567379.aspx,并保留作者姓名和本句话,谢谢合作
/******************************************************************************
 * 演示使用POI 写入 Excel 2007
 * 
 * 关键字:Java Excel POI POI-HSSF POI-XSSF
 * 
 * 作者:高宏伟(DukeJoe)
 * 时间:2009-10-22 16:12:25
 * 地点:黑龙江省哈尔滨市道里区通达街291号
 * 注释:http://blog.donews.com/dukejoe/archive/2009/10/22/1567379.aspx
 * 
 * 开发环境详细说明:
 * 1、java version "1.6.0_14"
 * 2、Java(TM) SE Runtime Environment (build 1.6.0_14-b08)
 * 3、Java HotSpot(TM) Client VM (build 14.0-b16, mixed mode, sharing)
 * 4、Microsoft Excel 2007
 * 5、Windows XP Home Edition Service Pack 3
 * 6、Apache POI 3.5
 * 
 *****************************************************************************/
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CreationHelper;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

public class POIExcelWriteDemo1
{

    /**
     * @param args
     */
    public static void main(String[] args)
    {
        // TODO Auto-generated method stub
        try
        {
            Workbook wb = new XSSFWorkbook();
            CreationHelper createHelper = wb.getCreationHelper();
            Sheet sheet = wb.createSheet("这里是第一页");

            // 创建行
            Row row = sheet.createRow((short) 0);
            // 创建单元格,方法1
            Cell cell = row.createCell(0);
            cell.setCellValue(1);
            // 直接创建单元格,方法2
            row.createCell(1).setCellValue(1.2);
            row.createCell(2)
                    .setCellValue(createHelper.createRichTextString("大家好,我是高宏伟"));
            row.createCell(3).setCellValue(
                    createHelper.createRichTextString("QQ:21807822"));
            row.createCell(4).setCellValue(true);

            // 写入文件
            FileOutputStream fileOut;
            fileOut = new FileOutputStream("gaohw.xlsx");
            wb.write(fileOut);
            fileOut.close();
            System.out.println("写入成功,运行结束!");
        } catch (FileNotFoundException e)
        {
            e.printStackTrace();
        } catch (IOException e)
        {
            e.printStackTrace();
        }
    }
}

以下是读取Excel文件的例程
/******************************************************************************
 * 演示使用POI 读取 Excel 2007
 * 
 * 关键字:Java Excel POI POI-HSSF POI-XSSF
 * 
 * 作者:高宏伟(DukeJoe)
 * 时间:2009-10-22 16:12:25
 * 地点:黑龙江省哈尔滨市道里区通达街291号
 * 注释:http://blog.donews.com/dukejoe/archive/2009/10/22/1567379.aspx
 * 
 * 开发环境详细说明:
 * 1、java version "1.6.0_14"
 * 2、Java(TM) SE Runtime Environment (build 1.6.0_14-b08)
 * 3、Java HotSpot(TM) Client VM (build 14.0-b16, mixed mode, sharing)
 * 4、Microsoft Excel 2007
 * 5、Windows XP Home Edition Service Pack 3
 * 6、Apache POI 3.5
 * 
 *****************************************************************************/
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.util.Iterator;

import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.DateUtil;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.usermodel.WorkbookFactory;

public class POIExcelReadDemo1
{

    /**
     * @param args
     */
    public static void main(String[] args)
    {
        try
        {
        InputStream inp;
            inp = new FileInputStream("gaohw.xlsx");
            Workbook wb = WorkbookFactory.create(inp);
            Sheet sheet = wb.getSheetAt(0);
            for (Iterator rit = sheet.rowIterator(); rit.hasNext();)
            {
                // 迭代行
                Row row = (Row) rit.next();
                // 迭代单元格
                for (Iterator cit = row.cellIterator(); cit.hasNext();)
                {
                    Cell cell = (Cell) cit.next();
                    // 开始操作单元格
                    // 在每一行的输出都打印如 "5:6 例子字符串",5:6代表第5行,第6列
                    // 注意行和列是基于0索引的
                    System.out.print(cell.getRowIndex() + ":" + cell.getColumnIndex()
                            + " ");
                    // 打印单元格内的数据
                    switch (cell.getCellType())
                    {
                    case Cell.CELL_TYPE_STRING:
                        System.out.println(cell.getRichStringCellValue().getString());
                        break;
                    case Cell.CELL_TYPE_NUMERIC:
                        if (DateUtil.isCellDateFormatted(cell))
                        {
                            System.out.println(cell.getDateCellValue());
                        } else
                        {
                            System.out.println(cell.getNumericCellValue());
                        }
                        break;
                    case Cell.CELL_TYPE_BOOLEAN:
                        System.out.println(cell.getBooleanCellValue());
                        break;
                    case Cell.CELL_TYPE_FORMULA:
                        System.out.println(cell.getCellFormula());
                        break;
                    default:
                        System.out.println();
                    }
                }
            }
        } catch (FileNotFoundException e)
        {
            e.printStackTrace();
        } catch (InvalidFormatException e)
        {
            e.printStackTrace();
        } catch (IOException e)
        {
            e.printStackTrace();
        }
    }
}
分享到:
评论

相关推荐

    POI操纵EXCEL文档之导入文档(一)

    POI操纵EXCEL文档之导入文档(一) 课件DEMO,使用的开发工具是idea、数据库Mysql

    poi操作excel的Demo

    poi操作excel的Demo

    POI操纵Excel文档总结(未完成版).pdf

    。。。

    POI操纵Excel文档总结(未完成版).docx

    。。。

    POI读取Excel合并单元格并储存

    Java操纵POI解析Excel表,根据表头将内容储存。通过实体类set、get方便其它方法引用

    POI操作Excel

    POI操作Excel文档介绍 POI简介 Jakarta POI 是apache的子项目,目标是处理ole2对象。它提供了一组操纵Windows文档的Java API 目前比较成熟的是HSSF接口,处理MS Excel(97-2002)对象。它不象我们仅仅是用csv生成...

    poi-3.16.jar,poi-ooxml-3.16.jar,poi-ooxml-schemas-3.16.jar

    POI3.16依赖包。导入依赖包即可使用,用于excel的操纵。

    java解析Excel的POI框架

    Jakarta POI 是apache的子项目,目标是处理ole2对象。它提供了一组操纵Windows文档的Java API 目前比较成熟的是HSSF接口,处理MS Excel(97-2002)对象。它不象我们仅仅是用csv生成的没有格式的可以由Excel转换的...

    Apache的POI开发实例

    Office 2007的文件结构完全不同于2003,所以对于两个版本的Office组件,POI有不同的处理API,分开使用即可。首先来说几个Excel的基本概念。对于一个Excel文件,这称为一个工作簿(Workbook),打开Excel之后,在...

    POI 操作教程

    POI操作,用于java操纵excel 希望有帮助

    POI中文开发文档

    它提供了一组操纵Windows文档的Java API 。目前比较成熟的是HSSF接口,处理MS Excel(97-2002)对象。它不象我们仅仅是用csv生成的没有格式的可以由Excel转换的东西,而是真正的Excel对象,你可以控制一些属性如...

    java中导入导出Excel文件

    其中 HSSF 是 Jakarta POI 中的一个组件,提供了一组操纵 Windows 文档的 Java API,目前比较成熟的是 HSSF 接口,处理 MS Excel(97-2002)对象。 在使用 POI 之前,需要具备以下条件:JDK 1.4+ 和 POI 开发包。...

    chm格式的POI文档

    可以操纵excel文件,如读取到数据库中,或从数据库中导出到excel中。详情查看http://poi.apache.org/

    poi-3.17-全部jar包.文档.源码以及API

    POI 是apache的子项目,它提供了一组操纵Windows文档(Excel、word、PowerPoint等)的Java API,本压缩包中包括四部分:poi的全部成型jar包,全部源码、测试用例、以及html版本的文档。 所有资源来自网络,提供给找...

    auto-excel:Excel的快速导入和导出工具

    |英文|为什么选择AutoExcel?...使用它时,程序员没有导入和导出的感觉,也就是说,不需要直接操纵POI。同时,实施顾问提供的Excel是导入和导出模板,除非添加了新的数据源或字段,否则模板更新不需要使用开发资源

    java程序读写Excel文件

    POI项目提供了一组操纵Windows文档的Java API,如下几个类提供了操作Excel文件的方便的途径: HSSFWorkbook、HSSFSheet、HSSFRow、HSSFCell,分别代表了Excel电子表格中的Book、Sheet、行和单元格。

    JAVA生成Excel文件

    Jakarta的POI项目提供了一组操纵Windows文档的Java API,如下几个类提供了操作Excel文件的方便的途径:HSSFWorkbook、HSSFSheet、HSSFRow、HSSFCell,分别代表了Excel电子表格中的Book、Sheet、行和单元格

    ExcelFileGenerator

    ExcelFileGenerator主要是配合poi文件来操纵excel文档的。

    Heritrix lucene开发自己的搜索引擎(源码)1

    使用POI解析WORD和Excel文件 使用Jacob解析WORD文件 Google的Search API的使用 安装:直接在Eclipse中选取“import->Existing Project” Eclipse工程/ch9:原书第十二章的工程文件 使用正则表达式解析网页文件 ...

Global site tag (gtag.js) - Google Analytics