`

Java 使用POI操纵Excel 2007

    博客分类:
  • J2EE
阅读更多
这是两个例程,是演示如何使用Java读取和写入Excel 2007 文件。注释里有比较详细的开发环境说明,你只要在Eclipse里粘过去不可以运行了。
例程使用的是POI-XSSF,而不是HSSF,这个地方要注意一下,不过他们的用法很类似,如果你看明白一个了,应该很容易理解另一个
非常感谢大家能阅读我的文章。如果还有什么问题,请大家留言
http://www.gjrencai.com/newsShow.asp?dataID=1485

并保留作者姓名和本句话,谢谢合作


/******************************************************************************
* 演示使用POI 写入 Excel 2007
*
* 关键字:Java Excel POI POI-HSSF POI-XSSF
*
gjrencai.com
* 注释:http://www.gjrencai.com/newsShow.asp?dataID=1485
* 开发环境详细说明:
* 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
* 注释:http://www.gjrencai.com/newsShow.asp?dataID=1485 *
* 开发环境详细说明:
* 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文档之导入文档(一)"这个主题中,我们将深入探讨如何使用POI库来读取和操作Excel文件。在这个过程中,我们假设你已经具备一定的Java编程基础,并且对Mysql数据库有所了解。 首先,让我们从安装和...

    POI向excel中插入图片

    Apache POI是一个强大的Java库,专门用于处理Microsoft Office格式的文件,包括Excel。在本文中,我们将深入探讨如何使用POI库向Excel工作...熟悉这些API和步骤后,你就可以自由地操纵Excel文档,实现更多复杂的功能。

    poi操作excel的Demo

    这个"poi操作excel的Demo"很可能是提供了一个使用Apache POI库来读取、写入或修改Excel文件的示例代码。下面将详细介绍Apache POI在处理Excel时的一些关键知识点。 1. **Apache POI概述**: Apache POI 是Java平台...

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

    本文档将详细讲解如何使用 POI 库来操纵 Excel 文档,从创建基本的 Workbook 和 Sheet 到设置复杂的格式和属性。 ### POI 简介 Apache POI 是由 Apache 软件基金会维护的一个 Java 库,主要设计用于处理 Microsoft...

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

    【标题】:POI操纵Excel文档总结(未完成版).pdf 【描述】:这篇文档是关于使用Apache POI库来操作Microsoft Excel文档的详细指南,涵盖了从基础概念到高级特性的各种操作。 【标签】:互联网,cs Apache POI是...

    java操纵excel文件

    本文将深入探讨如何使用Java来操纵Excel文件,主要基于描述中提到的jar包——`jxcell.jar`。 `jxcell.jar` 是一个用于处理Excel文件的Java库,它提供了读取和写入Excel数据的功能,支持多种版本的Excel格式,包括...

    java操作excel的api

    总结来说,"java操作excel的api"涉及了Java编程中处理Excel文件的关键技术,包括使用Apache POI库进行Sheet、Row、Cell的管理,以及样式和格式的设置。开发者可以根据具体需求选择使用Apache POI或JExcelAPI,尽管...

    java操纵excel的jar包

    本篇文章将深入探讨如何使用JXL.jar包来实现Java对Excel的操纵。 首先,JXL库提供了一个直观的API,使Java程序员能够处理Excel文件中的工作簿(Workbook)、工作表(Worksheet)、行(Row)和单元格(Cell)。这个...

    Java操纵excel的jar包(jxl.jar包 源码)

    本文将深入探讨如何使用jxl.jar包来在Java中操纵Excel。 jxl.jar是一个专门用于读写Microsoft Excel文件的Java库。这个库允许Java程序以一种方便、高效的方式创建、修改和读取Excel电子表格。jxl.jar包含了一系列类...

    JAVA读写EXCEl下载直接用

    对于复杂的需求,你可以深入研究API文档,学习如何更灵活地操纵Excel文件。 在实际应用中,你可能会遇到性能问题,因为POI是基于内存的,对于大型Excel文件可能需要优化处理,比如使用SAX API进行流式读写,或者...

    POI中文开发文档

    其中,POI 提供了 Java API 来读写和操纵 Windows 文档,尤其是对 Excel 文件的操作。在 POI 中,最成熟的接口是 HSSF,用于处理 MS Excel(97-2002)的老版本文件格式。 HSSF,全称为 Horrible SpreadSheet Format...

    JAVA生成Excel文件

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

    chm格式的POI文档

    描述中提到"可以操纵excel文件,如读取到数据库中,或从数据库中导出到excel中",这说明POI库提供了对Excel文件的强大操作能力。开发者可以使用POI来读取Excel数据,然后导入到数据库系统中,或者从数据库中提取数据...

    Apache的POI开发实例

    Apache的POI组件是Java操作Microsoft Office办公套件的强大API,其中对Word,Excel和PowperPoint都有支持,当然使用较多的还是Excel,因为Word和PowerPoint用程序动态操作的应用较少。那么本文就结合POI来介绍一下...

    使用 poi 操作 doc 与 docx 相关读写的jar包

    在Java编程中,Apache POI 提供了丰富的API,使得开发者可以方便地进行读写操作,不仅限于Microsoft Word(.doc 和 .docx)文档,还包括Excel(.xls 和 .xlsx)、PowerPoint(.ppt 和 .pptx)等格式。在这个场景下,...

    JSP 读写Excel组件

    这些组件提供API,使得开发者能够用Java代码操纵Excel文件的各种格式,包括XLS和XLSX。 Apache POI是Apache软件基金会的一个项目,专为处理Microsoft Office格式的文件而设计,包括Excel。它提供了HSSF(用于旧的....

    用java从Oracle的EMP表读数据并写到EXCEL中,实现oracle表的备份和导入

    7. **读取Excel数据**:从Excel中读取数据的过程与写入相反,使用POI库解析Excel文件,获取工作表,然后遍历单元格,将数据加载到内存中的数据结构。 8. **创建Oracle新表**:在Oracle数据库中,可以使用CREATE ...

    Java控制office类库

    Java控制Office类库主要指的是Java开发者使用特定的API或库来操作Microsoft Office应用程序,如Word、Excel和PowerPoint,通常是为了自动化文档处理、数据导入导出或者报告生成等任务。在Java中,有两种常见的实现...

Global site tag (gtag.js) - Google Analytics