`
kevin_gzhz
  • 浏览: 60735 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

在Java中操作Excel之读文件

阅读更多

    从Excel文件读取数据表 Java Excel API既可以从本地文件系统的一个文件(.xls),也可以从输入流中读取Excel数据表。读取Excel数据 表的第一步是创建Workbook(术语:工作薄),下面的代码片段举例说明了应该如何操作:

import java.io.*; 

import jxl.*;
class ReadExcel{
public void readExcel(String sourcefile){
try{
//构建Workbook对象, 只读Workbook对象
//直接从本地文件创建Workbook
//从输入流创建
Workbook InputStream is = new FileInputStream(sourcefile);
Workbook rwb = Workbook.getWorkbook(is);
}catch (Exception e){
e.printStackTrace();
}
//获取第一张Sheet表
Sheet rs = rwb.getSheet(0);
//一旦得到了Sheet,就可以访问Excel Cell(术语:单元格)
//获取第一行,第一列的值
Cell c00 = rs.getCell(0, 0);
String strc00 = c00.getContents();
//获取第一行,第二列的值
Cell c10 = rs.getCell(1, 0);
String strc10 = c10.getContents();
//获取第二行,第二列的值
Cell c11 = rs.getCell(1, 1);
String strc11 = c11.getContents();
System.out.println("Cell(0, 0)" + " value : " + strc00 + "; type : " + c00.getType());
System.out.println("Cell(1, 0)" + " value : " + strc10 + "; type : " + c10.getType());
System.out.println("Cell(1, 1)" + " value : " + strc11 + "; type : " + c11.getType());
//操作完成时,关闭对象,释放占用的内存空间
rwb.close();

}
}

    如果仅仅是取得Cell的值,可以通过getContents()方法,它将任何类型的Cell值都作为一个字符串返回。如果有需要知道Cell内容的确切类型,API也提供了一系列的方法。代码片段如下:

String strc00 = null;
  double strc10 = 0.00;
  Date strc11 = null;
  Cell c00 = rs.getCell(0, 0);
  Cell c10 = rs.getCell(1, 0);
  Cell c11 = rs.getCell(1, 1);
  if (c00.getType() == CellType.LABEL) {
   LabelCell labelc00 = (LabelCell) c00;
   strc00 = labelc00.getString();
  }
  if (c10.getType() == CellType.NUMBER) {
   NmberCell numc10 = (NumberCell) c10;
   strc10 = numc10.getValue();
  }
  if (c11.getType() == CellType.DATE) {
   DateCell datec11 = (DateCell) c11;
   strc11 = datec11.getDate();
  }
  System.out.println("Cell(0, 0)" + " value : " + strc00 + "; type : "
    + c00.getType());
  System.out.println("Cell(1, 0)" + " value : " + strc10 + "; type : "
    + c10.getType());
  System.out.println("Cell(1, 1)" + " value : " + strc11 + "; type : "
    + c11.getType());

 

分享到:
评论
12 楼 laodizhuq 2008-06-12  
POI导出Excel数据量稍微大一点就容易OOM的,你把虚拟内存调大,用处不是很大的,能够控制在1000条以内,而且表格需要特殊的格式的,可以考虑用EXCEL。
否则还是用csv格式好一点。
写CSV格式,其实就是写普通文本,只是以“,”分隔,数据量再大,都不是问题
11 楼 laiseeme 2008-06-11  
有时间我也得研究研究了 最近要开始接触cs的项目了
10 楼 hallywang 2008-06-11  
Joo 写道
CSV有什么好处?


逗号分割的啊,可以用文本编辑器打开,比如ue。导入到数据库也比较方便。



9 楼 Joo 2008-06-11  
CSV有什么好处?
8 楼 hallywang 2008-06-11  
Joo 写道
hallywang 写道
更喜欢poi,不过数据量大了就不大好搞了。

我现在做法是超过10000条记录就干脆写csv文件了。。。。


10000 poi就处理不来了?什么问题? 是初始化HSSFWorkbook加载JVM内存溢出么? 我把启动参数内存设大一点60000行的数据都没有问题 瞬间搞定
是不是读入了以后还要做什么复杂的处理?



是内存溢出,具体到多少溢出没试过,遇到过的是3W多条溢出了。修改启动参数是可以处理更多。
不过考虑到那么多数据导成excel没什么意义,用excle打开都是问题,更不要说阅读了。。
所以干脆超过1w就导成csv了。
7 楼 Joo 2008-06-07  
hallywang 写道
更喜欢poi,不过数据量大了就不大好搞了。

我现在做法是超过10000条记录就干脆写csv文件了。。。。


10000 poi就处理不来了?什么问题? 是初始化HSSFWorkbook加载JVM内存溢出么? 我把启动参数内存设大一点60000行的数据都没有问题 瞬间搞定
是不是读入了以后还要做什么复杂的处理?
6 楼 gnomewarlock 2008-06-06  
hallywang 写道
更喜欢poi,不过数据量大了就不大好搞了。

我现在做法是超过10000条记录就干脆写csv文件了。。。。

我也这么做,超过千条就写CSV了~
5 楼 hallywang 2008-06-06  
更喜欢poi,不过数据量大了就不大好搞了。

我现在做法是超过10000条记录就干脆写csv文件了。。。。
4 楼 Joo 2008-06-06  
POI现在提供更底层一级的api 尤其在读文件的时候相当迅猛
3 楼 luckaway 2008-06-06  
跟POI差不多!
2 楼 Joo 2008-06-04  
用的什么API 貌似不是POI
1 楼 java0000000 2008-04-11  
这个是个好东西哈哈。。

相关推荐

    Java中用于操作Excel格式文件的类库

    "Java中用于操作Excel格式文件的类库"指的是利用特定的Java库来读取、写入或者修改Excel文件。在这个描述中,提到了一个名为"jexcelapi"的开源扩展类库,它允许开发者在Java应用中便捷地处理Excel 2003格式的数据。 ...

    java中读取Excel例子

    总之,Java中操作Excel文件是通过Apache POI库实现的,该库提供了丰富的API来读取、写入以及修改Excel文件。在"ExcellWriter.java"这个例子中,我们可以学习到如何使用这些API进行实际的文件操作。理解并掌握这些...

    poi.zip java读取excel文件

    3. **获取 Sheet 对象**:通过工作簿对象的 `getSheet()` 方法获取工作表,工作表代表 Excel 文件中的一页。 4. **遍历 Row 和 Cell**:通过工作表对象的 `iterator()` 获取所有行,再遍历每一行的 `Cell`,读取...

    java读取excel文件

    Java 读取 Excel 文件是指使用 Java 语言从 Excel 文件中读取数据,并对其进行处理的过程。下面将详细介绍 Java 读取 Excel 文件的过程和相关知识点。 Java 读取 Excel 文件的步骤 1. 导入所需的包:在 Java 项目...

    利用JAVA操作EXCEL文件.pdf

    ### 利用JAVA操作EXCEL文件的关键知识点 #### 一、JAVA EXCEL API 简介 - **项目背景**:随着Web应用的发展,越来越多的应用场景需要通过Web端操作Excel文件,而传统的CSV文件虽然可以被Excel打开,但无法实现对...

    java操作Excel文件

    在Java编程环境中,操作Excel文件是一项常见的任务,尤其在数据处理、数据分析或自动化测试等领域。本文将深入探讨如何使用Java来读取、写入和修改Excel文件,主要涉及的库有Apache POI和JExcelApi。 Apache POI是...

    java解析Excel文件并把数据存入数据库和导出数据为excel文件SpringBoot代码示例

    1、java解析读取excel文件中的数据,并写入数据库。 2、java读取数据库数据,并导出为excel文件。 3、README.md中有详细的操作步骤示例。 使用说明: 1. 先使用postman导入:other/excel相关.postman_collection....

    java读取excel文件生成矩阵

    首先,我们需要了解Java中用于操作Excel文件的库。Apache POI是一个广泛使用的开源库,它提供了对Microsoft Office格式(包括Excel)的支持。在Java中,我们主要使用Apache POI的HSSF和XSSF组件来分别处理老版本的....

    java poi 根据excel模板生成excel文件

    在Java中,我们可以使用POI API来读取模板文件,然后在模板的基础上填充自定义数据,生成新的Excel文件。 1. **安装和引入POI库** 在Java项目中使用POI,你需要将`poi-ooxml`相关的JAR文件添加到项目的类路径中。...

    利用java操作Excel文件

    Java操作Excel文件是指使用Java语言来读取和写入Excel文件的内容。下面是关于Java操作Excel文件的知识点总结: 一、读取Excel文件内容 在Java中,读取Excel文件内容可以使用jxl.jar这个开源的库。首先需要下载jxl....

    Java读取Word中的表格(Excel),并导出文件为Excel

    如果是Maven项目,可以在pom.xml文件中添加以下依赖: ```xml <groupId>org.apache.poi <artifactId>poi-ooxml <version>5.2.2 ``` 2. **读取Word文档**: 使用Apache POI的`XWPFDocument`类来打开Word...

    java读excel文件

    在Java编程环境中,读取Excel文件是一项常见的任务,特别是在数据处理和分析的场景下。这里我们将探讨如何使用Java实现这一功能,重点是介绍压缩包中的`jxl.jar`库,这是一个用于读写Excel文件的第三方库。 首先,...

    Excel文件读写java代码

    JXL是一个开源的Java库,它提供了方便的API,使得开发者可以轻松地操作Excel文件。 3. **JXL库**:JXL库提供了广泛的API,支持读取、写入、修改Excel文件。它可以创建新的工作簿,添加工作表,读取单元格的数据,...

    Java操作Excel表格

    在学习这个主题时,提供的`ExcelData.txt`可能包含Excel文件中的数据示例,`Java操作Excel导入.txt`可能涵盖具体的Java代码片段,而`Action.txt`可能讲解了如何在Action类中处理Excel解析逻辑。通过这些文件,你可以...

    java 对excel文件操作

    在Java编程环境中,处理Excel文件是一项常见的任务,...以上就是关于Java操作Excel文件的基本知识点,涵盖读取、写入以及工作表管理等内容。实际开发中,还需要根据具体需求调整和优化代码,如错误处理、性能优化等。

    Java读取Excel文件的内容

    如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml <groupId>org.apache.poi <artifactId>poi-ooxml <version>4.1.2 ``` 确保版本号与Apache POI的最新稳定版本保持一致。 接下来,我们开始...

    Java生成Excel文件

    如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml <groupId>org.apache.poi <artifactId>poi-ooxml <version>4.1.2 ``` 现在,让我们创建一个简单的Excel文件。首先,我们需要创建一个`...

    EXCEL文件导入:JAVA读取Excel

    ### EXCEL文件导入:JAVA读取Excel #### POI简介及使用详解 ##### 一、引言 在软件开发过程中,特别是在企业级应用中,经常需要处理Excel文件。Java作为一种广泛应用的企业级编程语言,提供了多种工具和技术来...

    读取excel值替换文件内容

    首先,我们要了解如何在Java中操作Excel。Java提供了多种库来实现这一功能,如Apache POI和JExcelAPI。这里我们以Apache POI为例,它是一个强大的API,支持Microsoft Office文件格式,包括Excel。 1. **引入Apache ...

Global site tag (gtag.js) - Google Analytics