`
starbhhc
  • 浏览: 663356 次
  • 性别: Icon_minigender_2
  • 来自: 深圳
社区版块
存档分类
最新评论

使用apache POI操作Excel

    博客分类:
  • java
阅读更多
用apache POI 操作 Excel有几个关键的地方:
[1]读文件流 这个问题是一个IO问题 InputStreamin= new FileInputStream( /tmp/aaa.xls ); [2]如何取得Excel的操作对象 这个也就相当于,Excel的工作区,在这个里面你可以取得当前excel文件的相关信息 POIFSFileSy
用apache POI 操作 Excel有几个关键的地方:

[1]读文件流
这个问题是一个IO问题

InputStream in = new FileInputStream("/tmp/aaa.xls");  


[2]如何取得Excel的操作对象
这个也就相当于,Excel的工作区,在这个里面你可以取得当前excel文件的相关信息

POIFSFileSystem poifs = new POIFSFileSystem(fis);   
HSSFWorkbook wb = new HSSFWorkbook(poifs);  

HSSFWorkbook 对象,是我们最想得到的对象。
以后的所有操作都是从这里开始的。


[3]如何取得sheet的数目


wb.getNumberOfSheets()  


[4]如何根据index取得sheet对象



HSSFSheet sheet = wb.getSheetAt(0);  

有了Sheet就相当于取得了一张表一样。


[5]如何取得有效的行数


int rowcount = sheet.getLastRowNum();  


[6]如何根据index取得行对象


HSSFRow row = sheet.getRow(i);  

有了行对象,就可以取得每一个单元对象


[7]如何知道一个行有多少个单元

colcount = row.getLastCellNum();  


[8]如何取得一个单元对象


HSSFCell cell = row.getCell(j);  


[9]如何取得单元的值
此处仅以字符串为例

if(cell!=null){   
       System.out.println("cell is: "+cell.getStringCellValue());   
}  


下面是我的测试的完整的程序。我也是从网上找的资料,然后自己又做了测试。在此又做了整理。
感谢网上提供此参考资料的朋友。


package demo.excel;   
  
  
import java.io.File;   
import java.io.FileInputStream;   
import java.io.FileNotFoundException;   
import java.io.IOException;   
import java.io.InputStream;   
import java.util.ArrayList;   
import java.util.List;   
  
import org.apache.poi.hssf.eventusermodel.HSSFRequest;   
import org.apache.poi.hssf.model.Sheet;   
import org.apache.poi.hssf.model.Workbook;   
import org.apache.poi.hssf.usermodel.HSSFCell;   
import org.apache.poi.hssf.usermodel.HSSFRow;   
import org.apache.poi.hssf.usermodel.HSSFSheet;   
import org.apache.poi.hssf.usermodel.HSSFWorkbook;   
import org.apache.poi.poifs.filesystem.POIFSFileSystem;   
  
public class ExcelDemo {   
  
    public static void main(String[] args) {   
  
        File f = new File("/home/zhangyi/dell500.xls");   
  
        if (f.exists()) {   
  
            // read   
            try {   
                InputStream fis = new FileInputStream(f);   
  
                POIFSFileSystem poifs = new POIFSFileSystem(fis);   
                HSSFWorkbook wb = new HSSFWorkbook(poifs);   
  
                List retList = new ArrayList();   
  
                System.out.println("sheet number : " + wb.getNumberOfSheets());   
                   
                   
                HSSFSheet s = wb.getSheetAt(0);   
                System.out.println("sheet obj is : "+s);   
                   
                   
                   
                   
                for (int h = 0; h < wb.getNumberOfSheets(); ++h) {   
                    List list = new ArrayList();   
  
                    HSSFSheet sheet = wb.getSheetAt(h);   
                    int rowcount = sheet.getLastRowNum();   
                    rowcount++;   
                    System.out.print("-----sheet[" + h + "]: row count = "  
                            + rowcount);   
  
                       
                    int colcount = 0;   
                    for (int i = 0; i < rowcount; ++i) {   
                        HSSFRow row = sheet.getRow(i); // i=0 indicate the first   
                       
                        // row   
                        if (row == null)   
                            continue; // without the row, break and continue;   
                           
                        if (colcount == 0) { // colunm count set to column of   
                            // the first effective row   
                            colcount = row.getLastCellNum();   
                            System.out.println(", column count = " + colcount);   
                        }   
  
                        String[] fieldValue = new String[colcount];   
                           
                        for (short j = 0; j < colcount; ++j) { // column data in   
                                                                // the current   
  
                            HSSFCell cell = row.getCell(j);   
                            // fieldValue[j] = getCellStringValue(cell);   
                            if(cell!=null){   
                                System.out.println("cell is: "+cell.getStringCellValue());   
                            }   
//                            System.out.println("cell is : " +cell.getCellComment());   
                               
                        }   
  
                        list.add(fieldValue);   
                    }   
  
                    retList.add(list);   
                }   
  
            } catch (FileNotFoundException e) {   
                // TODO Auto-generated catch block   
                e.printStackTrace();   
            } catch (IOException e) {   
                // TODO Auto-generated catch block   
                e.printStackTrace();   
            }   
  
        }   
  
    }   
  
}  
分享到:
评论

相关推荐

    Apache poi 操作 excel 文件压缩包

    5. **poi-examples**: 包含了使用Apache POI API的示例代码,可以帮助开发者理解如何实际操作Excel文件。 6. **poi-excelant**: 提供了用于构建和执行Ant任务的工具,这些任务与Excel操作有关,例如创建或处理Excel...

    Apache POI Excel操作

    本篇将详细介绍Apache POI在Excel操作中的应用,包括基本概念、使用步骤、关键类和方法以及实际示例。 1. 基本概念 - HSSF (Horrible Spreadsheet Format):用于处理旧版的BIFF格式Excel文件(.xls)。 - XSSF ...

    apache POI文件读写excel

    在本文中,我们将深入探讨如何使用Apache POI进行Excel文件的读写操作,以及相关的技术细节。 1. **Apache POI的基本概念** - **HSSF**: 用于处理旧版的BIFF格式(.xls)的Excel文件。 - **XSSF**: 用于处理基于...

    apache POI 读取 Excel

    apache poi 读取 Excel 的 jar 包 博文链接:https://wxinpeng.iteye.com/blog/231895

    Apache POI for Android

    在Android开发中,Apache POI 提供了处理Excel文件的能力,使得开发者可以在Android设备上进行Excel的读写操作,无需依赖微软的软件环境。这个库简化了与Excel数据交互的过程,使得在移动应用中处理数据变得更加便捷...

    poi操作excel全部jar包

    "poi操作excel全部jar包"指的是使用Apache POI进行Excel操作所需的所有库文件集合,通常包含多个JAR文件,每个文件服务于不同的功能模块。 Apache POI 主要分为三个部分: 1. **HSSF**: 这是处理Microsoft Excel的...

    Apache Poi Excel导出

    这篇博客“Apache Poi Excel导出”可能详细介绍了如何使用Apache POI库来生成Excel文件,特别适用于数据导出或报表生成等场景。 Apache POI API 包含多个关键组件,如HSSF(Horizontally Stored Format)用于处理旧...

    poi操作excel2007

    接下来,我们将讨论如何使用Apache POI操作Excel 2007(.xlsx)文件的主要步骤: 1. **创建Workbook对象**:这是Excel工作簿的Java表示。你可以使用`XSSFWorkbook`类来创建一个新的Excel工作簿。 ```java import...

    apache poi 导出excel、word

    Apache POI 是一个广泛使用的库,它支持HSSF(Horizontally Stored Spreadsheet Format)和XSSF(XML Spreadsheet Format),分别用于处理老版本的Excel(.xls)和新版本的Excel(.xlsx)文件。此外,它还提供了一...

    java使用poi操作excel

    Java 使用 Apache POI 操作 Excel 是一种常见的数据处理方式,特别是在大数据分析、报表生成和数据导入导出等场景中。Apache POI 是一个开源库,它允许 Java 开发者读写 Microsoft Office 格式,包括 Excel(.xlsx ...

    Apache POI 模板导出excel.rar

    综上所述,"Apache POI 模板导出excel.rar"中的内容主要涵盖了使用Apache POI库处理Excel模板,填充数据并导出报表的整个流程,涉及到了文件操作、数据处理、样式控制、性能优化等多个方面的技术知识。通过理解和...

    POI操作Excel完美生成水印

    2. **使用Apache POI加载Excel**:然后,使用POI的HSSFWorkbook或XSSFWorkbook类打开Excel文件。根据你的Excel文件类型,选择对应的API。例如,如果你正在处理的是.xlsx文件,那么应该使用XSSFWorkbook。 3. **插入...

    使用ITEXT导出PDF、WORD,APACHE POI导出EXCEL报表文件

    本文将深入探讨如何使用ITEXT库导出PDF和Word,以及利用Apache POI库导出Excel报表文件。 首先,让我们来了解ITEXT库。ITEXT是一个开源Java库,专门用于创建和修改PDF文档。使用ITEXT,你可以方便地生成包含文本、...

    Apache POI库jar文件

    Apache POI库是一个开源的Java库,可以帮助开发人员处理Microsoft Office格式的文档,例如Word文档、Excel电子表格和PowerPoint演示文稿等。以下是Apache POI库的详细介绍: 支持多种Office格式:Apache POI库支持...

    使用poi操作Excel2007工具类及示例(包括完整Jar包)

    Apache POI 是一个开源项目,专门用于处理Microsoft ...通过以上介绍,你应该对如何使用Apache POI操作Excel 2007文件有了基本的理解。你可以参考提供的示例代码,结合自己的需求,开始编写处理Excel文件的应用程序。

    Apache poi 导出excel实例

    这篇博客文章“Apache POI 导出excel实例”将深入探讨如何使用Apache POI库来生成Excel文件,这对于在Java环境中处理大量数据并需要导出为Excel格式的应用非常有用。 首先,我们需要导入Apache POI库到我们的项目中...

    apache.poi-3.2

    "Excel.java"可能是一个示例代码文件,展示了如何使用Apache POI操作Excel。"lib"目录很可能包含了运行Apache POI所需的一些依赖库。 总之,Apache POI为Java开发者提供了一种强大且灵活的方式,使他们能够在Java...

    apache POI 导出Excel 设置打印

    在使用Apache POI导出Excel时,首先需要创建一个`XSSFWorkbook`对象作为工作簿,然后通过工作簿创建`XSSFSheet`对象代表工作表。例如: ```java XSSFWorkbook workbook = new XSSFWorkbook(); XSSFSheet sheet =...

    Java使用apache POI读取Excel2007以上代码以及所需jar包

    总的来说,Apache POI为Java开发者提供了强大的工具,使得读取和操作Excel文件变得简单易行。通过理解并熟练运用POI API,你可以实现各种复杂的Excel处理任务,包括读取、写入、格式化和计算等。

    poi 操作 excel 2007 demo 及poi类库

    下面将详细介绍如何使用Apache POI操作Excel 2007以及相关的类库。 首先,"poi-bin-3.9-20121203.zip"是Apache POI的一个版本包,包含了运行时所需的二进制文件。解压后,你可以将其中的jar文件添加到你的Java项目...

Global site tag (gtag.js) - Google Analytics