package com.suning.crawler.util;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;
import org.apache.log4j.Logger;
/**
* Excel读取,存放为List
*
* @author xxx
*/
public class ExcelRead
{
// 日志记录
private Logger logger = Logger.getLogger(ExcelRead.class);
/**
* 开始行
*/
private int beginRow;
/**
* 开始列
*/
private int beginColumn;
/**
* 结束行
*/
private int endRow;
/**
* 结束列
*/
private int endColumn;
public ExcelRead(int row, int column)
{
this(row, column, Integer.MAX_VALUE, Integer.MAX_VALUE);
}
public ExcelRead(int beginRow, int beginColumn, int endRow, int endColumn)
{
this.beginRow = beginRow;
this.beginColumn = beginColumn;
this.endRow = endRow;
this.endColumn = endColumn;
}
/**
* 读取Excel文件
*
* @param fileName
* 文件名称
* @return 文件信息
*/
public List<List<String>> readData(String fileName)
{
// 创建目录
String filePath = PropUtil.getProductPath();
// 创建文件
File file = new File(filePath + fileName);
return readData(file);
}
/**
* 读取Excel文件
*
* @param file
* Excel 文件
* @return 文件信息
*/
public List<List<String>> readData(File file)
{
// 打开文件
Workbook wb = null;
try
{
wb = Workbook.getWorkbook(file);
}
catch (BiffException e)
{
logger.error("jxl does not support the file format.", e);
return null;
}
catch (IOException e)
{
logger.error("read the file fails", e);
return null;
}
catch (Exception e)
{
logger.error("other exception", e);
return null;
}
// 存储sheet中的数据,第一个sheet
List<List<String>> datas = new ArrayList<List<String>>();
// 存储一行所有列数据数据
List<String> record = new ArrayList<String>();
// 读取第一个sheet的内容
Sheet sheet = wb.getSheet(0);
// 读取内容
for (int row = beginRow; row < endRow && row < sheet.getRows(); row++)
{
boolean validFlag = false;
for (int cloumn = beginColumn; cloumn < endColumn && cloumn < sheet.getColumns(); cloumn++)
{
String content = sheet.getCell(cloumn, row).getContents();
// 若一行为空,则标识为无效行
if (null != content && !"".equals(content.trim()))
{
validFlag = true;
}
record.add(content);
}
if (validFlag)
{
datas.add(record);
}
record.clear();
}
wb.close();
return datas;
}
}
分享到:
相关推荐
总结来说,jxl.jar库是Java操作Excel的一个实用工具,它提供了丰富的API来读取、修改和创建Excel文件。通过熟练掌握这个库,开发者可以方便地在Java应用程序中集成Excel相关的功能,进行数据处理和报告生成等工作。...
JXL是一个Java库,允许开发者读取、写入和修改Excel工作表。这个项目的重点是实现Android设备上对Excel表格的操作功能,包括对单个单元格的输入和修改,以及批量修改。 描述中提到的“android应用操作excel表格,可...
标题 "JXL 读取EXCEL" 涉及到的是使用Java Excel Library(简称JXL)这个开源库来处理Microsoft Excel文件。JXL是一个强大的工具,它允许开发者在Java程序中读取、写入和修改Excel文件。下面将详细介绍JXL库以及如何...
本文将对比两种主流的Java Excel处理库:jxl和Apache POI,并探讨它们的特性和适用场景。 首先,jxl是较早的Java Excel处理库,主要用于读写Excel 97-2003格式的.XLS文件。它的API简洁,易于上手,对于简单的读写...
在Java中,读取和操作Excel文件是常见的需求,这通常涉及到使用库,如Apache POI和JXL。这两个库都允许开发者在Java中方便地读取、写入和修改Excel文件。 Apache POI是一个强大的库,专门用于处理Microsoft Office...
`jxl`库是一个广泛使用的第三方库,它允许开发者轻松地读取、写入和修改Excel文件。本篇文章将深入探讨如何利用`jxl.jar`包来实现这一功能。 首先,确保你已经正确地将`jxl.jar`文件添加到你的项目类路径中。这可以...
总的来说,JXL库是Java开发者处理Excel文件的理想选择,无论你是需要读取Excel数据进行分析,还是构建数据导入导出系统,甚至是生成复杂的报表,JXL都能提供强大而全面的支持。通过熟练掌握JXL,你将能够更高效地与...
接下来,我们详细分析给出的部分内容,了解如何使用jxl来读取Excel文件。 ```java ;charset=gb2312" language="java"%> *"%> <%@page import="jxl.*"%> <%@page import="jxl.write.*"%> <%@page import="jxl.format...
JXL和Apache POI是两个广泛使用的库,分别提供了对Excel文件的读取和生成的支持。本篇文章将深入探讨这两个库的使用方法及其特点。 首先,JXL是一个Java API,主要用于读写Excel 97-2003格式的工作簿,即.xls文件。...
在Java项目中引入JXL库后,你可以轻松地创建新的Excel工作簿、添加工作表、写入单元格数据、设置格式、读取数据等。 1. **创建Excel工作簿** 使用`Workbook.createWorkbook()`方法可以创建一个新的Excel工作簿对象...
`jxl.jar`库是一个流行的选择,它允许Java程序方便地读取和写入Microsoft Excel文件。这个库是Java Excel API(JExcel API)的一部分,由Pentaho公司提供。`jxl.jar`库支持多种Excel功能,包括单元格格式、公式处理...
在这个场景下,JXL是一个非常实用的Java库,专门用于读取、写入和操作Excel文件。本文将深入探讨JXL库,解析其核心功能,以及如何在项目中使用JAR包进行Excel处理。 JXL全称为Java Excel API,它为Java开发者提供了...
`jxl`库是Java中一个广泛使用的库,它允许开发者方便地读取和写入Excel文件(.xls格式)。本篇将详细介绍如何利用`jxl`库来操作Excel文件,并结合实例说明如何从Excel文件中提取数据并生成TXT文件。 首先,我们需要...
6. **读取Excel**:除了生成Excel文件,jxl还可以读取已有的Excel文件,将其内容转化为Java数据结构,便于处理和分析。 7. **示例代码**:通常,使用jxl的流程包括加载模板文件,找到要填充的单元格,使用`Cell....
jxl库正是解决这一问题的关键,它允许Java程序创建、读取和修改Excel文件,极大地拓展了Java在数据处理上的能力。 jxl库是由JExcelAPI项目提供的,它是一个开源的Java库,专门用于处理Microsoft Excel文件。在本文...
总结来说,“Excel报表JXL类型 报表 从数据库解析 读取 排列 java”这个主题涵盖了使用Java的JXL库创建和处理Excel报表的核心步骤,包括从数据库获取数据,对数据进行排序,以及使用JXL的API在Excel文件中写入和格式...
本文将深入探讨Java编程语言中如何使用Apache POI库和JExcelAPI(JXL)来读取、写入及操作Excel文件,同时也包括设置列宽以及处理合并或拆分的单元格内容。 首先,Apache POI是Apache软件基金会的一个开源项目,专...
java读取Excel文件-jxl附件列表: ReadAndWriteExcel.java (5.52 KB) jxl.jar (688.03 KB) jxl读Excel文件.doc (88.50 KB)
本篇文章将详细介绍如何利用jxl库实现对Excel文件的基本操作,包括读取、写入等常见功能。 #### 二、jxl库简介 jxl是一个开源的Java API,用于读取和写入Microsoft Excel文件(.xls格式)。尽管它不再维护,并且被...
"使用jxl读取Excel表格数据"这个主题就是关于如何利用jxl库来实现这一目标。jxl是一个开源的Java库,它提供了对Microsoft Excel文件格式的支持,使得在Java中操作Excel变得简单。 首先,你需要获取jxl的jar包。由于...