`
喜马拉雅上的小草
  • 浏览: 50806 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JAVA操作EXCEL两种方法性能对比:POI VS JXL

阅读更多

1.数据准备
      测试环境:WINDOWS XP + HP541
      POI API VERSION:poi 3.7
      JXL API VERSION:jexcelapi-2.6.12
      EXCEL格式:4列文本
      [img][/img]



2.测试程序:
   POI程序:
    import java.io.FileInputStream;

    import java.util.Date; 

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

    import org.apache.poi.poifs.filesystem.POIFSFileSystem;

    import org.apache.poi.ss.usermodel.Cell;

    import org.apache.poi.ss.usermodel.Row;

    import org.apache.poi.ss.usermodel.Sheet;

    import org.apache.poi.ss.usermodel.Workbook;

    public class TestPOI {

        public static void read(String pathName) throws Exception {

                Workbook workbook = new HSSFWorkbook(new POIFSFileSystem(new FileInputStream(pathName)));

                Sheet sheet = workbook.getSheetAt(0); 

                int rows = sheet.getPhysicalNumberOfRows();

                for (int i = 0; i < rows; i++) { 

                        Row rowObj = sheet.getRow(i);

                        for (int j = 0; j < 4; j++) {  

                                Cell cell = rowObj.getCell(j);

                                Object content = cell.getStringCellValue(); 

                                System.out.println("i=" + i + "   j=" + j + "   " +content.toString());

                        }

                } 

        }

        public static void main(String[] args) throws Exception {

                Date date = new Date();

                long dateLong = date.getTime();

                read("D:\\TableInfoFormat.xls");

                Date date1 = new Date();

                long date1Long = date1.getTime();

                System.out.println((date1Long - dateLong) + "ms");

        } 

   }

   //JXL程序:   
   import java.io.FileInputStream;

   import java.io.InputStream;

   import java.util.Date;

   import jxl.Sheet;

   import jxl.Workbook;

   public class TestJxl {

        public static void readExcel1(String pathName) throws Exception { 

                InputStream is = new FileInputStream(pathName);

                Workbook wb = Workbook.getWorkbook(is);

                Sheet sheet = wb.getSheet(0);

                int rows = sheet.getRows(); 

                for (int i = 1; i < rows; i++) { 

                        for (int j = 0; j < 4; j++) { 

                                System.out.println("i=" + i + "   j=" + j + "   " +sheet.getCell(j, i).getContents().trim());

                        }

                }

                is.close();  

        }

        public static void main(String[] args) throws Exception{

                Date date = new Date();

                long dateLong = date.getTime();

                readExcel1("D:\\TableInfoFormat.xls");

                Date date1 = new Date();

                long date1Long = date1.getTime();

                System.out.println((date1Long - dateLong) + "ms");

        }

    }

3.测试结果

类型 数据量(行) 执行时间(ms) 执行时间(ms) 执行时间(ms) 平均时间(ms)
POI 1000 579 562 532 558
JXL 1000 500 469 484 484
POI 5000 984 984 969 979
JXL 5000 922 860 890 891
POI 10000 1609 1594 1641 1615
JXL 10000 1437 1453 1406 1432
POI 30000 3782 3765 3828 3792
JXL 30000 3922 3906 3922 3917
POI 50000 5953 6484 5859 6099
JXL 50000 6765 7421 6984 7057
4.总结
    在小数据量时jxl快于poi,在大数据量时poi要快于jxl。但差距都不明显。
  • 大小: 56.1 KB
分享到:
评论

相关推荐

    java开发Excel所需 poi jxl两种jar包

    本文将深入探讨两种常用的Java库:Apache POI和JXL,它们都提供了处理Excel文件的能力。 Apache POI是Apache软件基金会的一个开源项目,它提供了一个强大的API,允许Java开发者读取、写入和修改Microsoft Office...

    java操作excel——jxl和poi比较

    本文将对比两种主流的Java Excel处理库:jxl和Apache POI,并探讨它们的特性和适用场景。 首先,jxl是较早的Java Excel处理库,主要用于读写Excel 97-2003格式的.XLS文件。它的API简洁,易于上手,对于简单的读写...

    POI和JXL两种方式导出EXCEL

    这两种库都是Java中广泛使用的处理Microsoft Office文件格式的库,特别是Excel。 首先,Apache POI是一个开源项目,它提供了读取和写入Microsoft Office格式文件的能力,包括Excel。POI库的强大之处在于它可以处理...

    java读取excel文件POI+jxl

    在Java中,读取和操作Excel文件是常见的需求,这通常涉及到使用库,如Apache POI和JXL。这两个库都允许开发者在Java中方便地读取、写入和修改Excel文件。 Apache POI是一个强大的库,专门用于处理Microsoft Office...

    Excel生成导出JXL和POI两种方式小demo

    此时,开发者通常会借助编程语言来实现自动化操作,Java中就有两个常用的库,即JXL和Apache POI,用于读写Excel文件。下面我们将详细探讨这两个库以及如何使用它们生成Excel导出。 1. **JXL库**: JXL是Java Excel...

    java使用poi包和jxl包操作excel的心得

    ### Java使用POI包与JXL包操作Excel的实践心得 #### 一、引言 在实际工作中,经常需要处理Excel文件,特别是在企业级应用中,Excel作为一种常用的数据存储和交换格式,其重要性不言而喻。Java作为一款流行的企业级...

    java poi jxl 操作excel的小例子

    Java POI 和 JXL 是两种常用的 Java 库,用于处理 Microsoft Excel 文件。在这个入门级的实例中,我们将探讨如何使用这两个库来操作Excel文件。首先,我们先了解一下这两个库的基本概念。 1. **Java POI**: - ...

    Java操作Excel表两种方式

    在Java编程环境中,处理Excel文件是一项常见的任务,无论是读取数据、写入数据还是进行复杂的表格操作。在Java中,有多种库可以帮助我们实现这些功能,其中最常用的两个是Apache POI和jxl。下面将详细讲解这两种方式...

    java 通过poi操作excel jar包

    Java通过Apache POI库操作Excel是Java开发人员处理Microsoft Office文档的一种常见方法,特别是当需要在应用程序中生成、读取或修改Excel数据时。Apache POI是一个开源项目,提供了丰富的API,使得Java开发者能够...

    java 导出excel(单、多工作薄)

    本文将详细介绍如何使用Java的两个库,jxl和Apache POI,来实现单个和多个工作簿的Excel导出。 首先,我们来看jxl库。jxl是Java Excel API的简称,它允许Java程序读写Excel文件。在单个工作簿的导出中,jxl库提供了...

    JAVA 解析 Excel 工具 Java 解析、生成 Excel 比较有名的框架有 Apache poi、jxl.zip

    Apache POI和jxl是两个非常知名的库,用于在Java环境中解析和生成Excel文件。 Apache POI是Apache软件基金会的一个开源项目,它提供了API来处理Microsoft Office格式的文件,包括Excel(.xls和.xlsx)。Apache POI...

    POI和JXL读取EXCEL数据的工具类(POI支持2007)

    总结来说,`POI和JXL读取EXCEL数据的工具类`为我们提供了两种处理Excel文件的方式,POI更适合处理现代Excel格式,而JXL则对旧版的xls文件有良好的支持。`PoiUtil.java`和`JxlUtil.java`作为工具类,简化了代码实现,...

    java操作Excel-jxl与poj的比较 .docx

    Java操作Excel时,有两种常用的库:jxl和Apache POI(POJ是POI的一部分,全称为Plain Old Java Objects)。这两个库都允许开发者在Java应用程序中读取、写入和修改Excel文件,但它们有不同的特性和适用场景。 **jxl...

    POI和JXL读取EXCEL数据的工具类(POI支持2007)

    对比这两种方法,Apache POI提供了更广泛的支持,包括最新的Excel格式和更丰富的功能,如样式、公式处理等,但其体积较大,启动时可能需要更多内存。而JXL则更为轻便,适合处理老版本的Excel文件,但在处理大型或...

    Java操作Excel的jxl和poi的jar包大全

    jxl适合简单的读写操作,而Apache POI则提供了更全面的功能,包括对新旧两种Excel格式的支持以及对复杂格式和公式的处理。选择哪一个库取决于你的具体需求和项目规模。如果你只是偶尔处理Excel,且需求不复杂,jxl...

    java报表JXL和POI打印设置 java 生成excel 设置打印

    JXL 和 POI 是两个常用的库来操作Excel文件。其中,对于打印功能的支持是必不可少的一个环节。本文将详细介绍如何使用JXL 和 POI 库来设置打印选项,包括页面方向、缩放比例、边距调整等。 #### 一、JXL 设置打印 ...

    java操作excel 包

    2. **处理XLSX和XLS**:POI提供了HSSF(处理老式BIFF格式,即.xls)和XSSF(处理XML格式,即.xlsx)两种API。 3. **创建工作簿**:使用`WorkbookFactory.create()`方法可以基于文件创建工作簿对象。 4. **操作样式**...

    poi和jxl架包

    POI支持两种主要的Excel文件格式:HSSF(Horrible Spreadsheet Format)用于旧版的BIFF格式(.xls),而XSSF则用于XML-based Office Open XML格式(.xlsx)。 以下是一些使用Apache POI操作Excel的关键知识点: 1....

    JAVA操作Excel(jxl使用介绍).pdf

    ### JAVA操作Excel(jxl使用介绍) #### 一、概述 在Java编程中,处理Excel文件是一种常见的需求。jxl库是早期广泛使用的Java操作Excel文件的API之一。本篇文章将详细介绍如何利用jxl库实现对Excel文件的基本操作,...

    Jxl和poi读取写入excel

    POI库可以很好地处理这两种格式,而Jxl只适用于.xls文件。在实际开发中,应根据项目需求选择合适的库,考虑到兼容性问题,通常推荐使用POI。 总的来说,Jxl和Apache POI是Java处理Excel文件的强大工具。它们提供了...

Global site tag (gtag.js) - Google Analytics