jar包下载 http://witchlovelearning.iteye.com/blog/1986284
附件为源码
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
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.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class DataFromExcel {
/**
* @param filePath excel文件存储名称及路径 例:"E:\\person.xls" 或 "E:\\person.xlsx"
*/
private static List<List<String>> read2003Excel(String filePath) {
File excelFile = null;
InputStream inputs = null;
String cellStr = null;// 单元格,最终按字符串处理
List<List<String>> sList = new ArrayList<List<String>>();// 返回封装数据的List
try {
excelFile = new File(filePath);
if(!excelFile.exists()){
System.out.println("文件不存在") ;
}
else{
inputs = new FileInputStream(excelFile);
HSSFWorkbook wb = new HSSFWorkbook(inputs);
HSSFSheet sheet = wb.getSheetAt(0);
// 开始循环遍历行,表头不处理,从1开始
for (int i = 1; i <= sheet.getLastRowNum(); i++) {
HSSFRow row = sheet.getRow(i);
if (row == null) {
continue;
}
// 循环遍历单元格
List<String> rowStr = new ArrayList<String>(); //每行的值组成的list
for (int j = 1; j < row.getLastCellNum(); j++) { //不读入序号
HSSFCell cell = row.getCell(j);// 获取单元格对象
if (cell == null) {
cellStr = "";
} else if (cell.getCellType() == HSSFCell.CELL_TYPE_BOOLEAN) {// 对布尔值的处理
cellStr = String.valueOf(cell.getBooleanCellValue());
} else if (cell.getCellType() == HSSFCell.CELL_TYPE_NUMERIC) {// 对数字值的处理
cellStr = cell.getNumericCellValue() + "";
} else if (cell.getCellType() == HSSFCell.CELL_TYPE_FORMULA) {// 对公式的处理
cellStr = cell.getCellFormula();
}else {// 其余按照字符串处理
cellStr = cell.getStringCellValue();
}
rowStr.add(cellStr);
}
if("".equals(row.getCell(0)) || row.getCell(0) == null)
break;
else
sList.add(rowStr);// 数据装入List
} }
} catch (IOException e) {
e.printStackTrace();
} finally {// 关闭文件流
if (inputs != null) {
try {
inputs.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return sList;
}
private static List<List<String>> read2007Excel(String filePath) {
File excelFile = null;
InputStream inputs = null;
String cellStr = null;
List<List<String>> sList = new ArrayList<List<String>>();
try {
excelFile = new File(filePath);
if(!excelFile.exists()){
System.out.println("文件不存在") ;
}
else{
inputs = new FileInputStream(excelFile);
XSSFWorkbook wb = new XSSFWorkbook(inputs);// 创建Excel2007文件对象
XSSFSheet sheet = wb.getSheetAt(0);
// 开始循环遍历行,表头不处理,从1开始
for (int i = 1; i < sheet.getLastRowNum(); i++) {
XSSFRow row = sheet.getRow(i);
if (row == null) {
continue;
}
// 循环遍历单元格
List<String> rowStr = new ArrayList<String>();
for (int j = 1; j < row.getLastCellNum(); j++) { //不读入序号
XSSFCell cell = row.getCell(j);// 获取单元格对象
if (cell == null) {// 单元格为空设置cellStr为空串
cellStr = "";
} else if (cell.getCellType() == XSSFCell.CELL_TYPE_BOOLEAN) {// 对布尔值的处理
cellStr = String.valueOf(cell.getBooleanCellValue());
} else if (cell.getCellType() == XSSFCell.CELL_TYPE_NUMERIC) {// 对数字值的处理
cellStr = cell.getNumericCellValue() + "";
} else if (cell.getCellType() == XSSFCell.CELL_TYPE_FORMULA) {// 对公式的处理
cellStr = cell.getCellFormula();
} else {// 其余按照字符串处理
cellStr = cell.getStringCellValue();
}
rowStr.add(cellStr);
}
if("".equals(row.getCell(0)) || row.getCell(0) == null)
break;
else
sList.add(rowStr);// 数据装入List
}
}
} catch (IOException e) {
e.printStackTrace();
} finally {// 关闭文件流
if (inputs != null) {
try {
inputs.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return sList;
}
public static void main(String[] args) {
List<List<String>> lists = read2007Excel("E:\\readtests.xlsx");
// List<List<String>> lists = read2003Excel("E:\\readtest.xls");
for (List<String> ls : lists) {
for (String s : ls) {
System.out.print(s+"-");
}
System.out.print("\n");
}
}
}
分享到:
相关推荐
java读取excel 表格数据。 public static void main(String[] args) { String[][] content=POIExcelUtils.read("E:\\1.xlsx"); for(int i=0;i;i++) { if(content[i]!=null){ for(int j=0;j[i].length;j...
本教程将重点讲解如何使用Apache POI库来读取Excel数据,并基于这些数据批量生成Word文档。Apache POI是一个开源项目,它允许Java开发者处理Microsoft Office格式的文件,如Excel(.xlsx或.xls)和Word(.docx)。 ...
使用poi读取写入复杂excel内容包括样式,工具类
在示例代码中,使用了Java POI读取Excel文件,并将其写入到数据库中。首先,需要创建一个Workbook对象,然后使用Workbook对象的getSheet方法获取Excel文件的Sheet对象,最后使用Sheet对象的getRow方法读取Excel文件...
本文将深入探讨如何使用Java POI来读取Excel表格,同时涵盖对不同版本的Excel文件的支持。 首先,我们需要添加Apache POI的依赖到项目中。如果是Maven项目,可以在pom.xml文件中加入以下依赖: ```xml <groupId>...
在Java编程环境中,读取Excel表格内容并将其展示在Swing界面是一项常见的任务,尤其在数据处理和报表展示方面。本篇文章将详细讲解如何实现这一功能。 首先,我们需要引入两个关键库:Apache POI用于读取Excel文件...
要实现"利用POI读取excel写入到word",我们需要以下步骤: 1. **准备环境**:首先,确保你的项目已经引入了Apache POI的依赖。在给定的压缩包中,"poi - 副本"可能是包含POI库的JAR文件,你需要将其添加到你的项目...
在Java编程中,有时我们需要处理来自不同文档格式的数据,例如从Word文档中提取表格内容,并将其转换成Excel文件。这通常涉及到使用Apache POI库,一个强大的API,用于读写Microsoft Office格式的文件,包括Word(....
Java使用Apache POI库来操作Excel文件是一种常见的实践,POI是Apache软件基金会的一个开源项目,专门为Microsoft Office格式提供读写支持。在这个场景中,我们主要关注如何使用POI进行Excel文件的读取和导出。 首先...
Java POI 实现 Excel 导入导出 Java POI 是一个流行的 Java 库,用于处理 Microsoft Office 文件格式,包括 ...在本文中,我们已经详细介绍了如何使用 Java POI 实现 Excel 导入导出功能,包括读取和写入 Excel 文件。
模板中的单元格、公式、样式、图表等元素都以XML的形式存在,Java POI通过解析这些XML来操作Excel内容。 在使用Java POI处理模板时,我们需要做以下步骤: 1. **读取模板**:使用`XSSFWorkbook`类打开模板文件,它...
本文将深入探讨如何使用Java的Apache POI库来读取Excel文件,并处理其中合并单元格的数据,同时将这些数据存储到实体类中以供后续使用。 Apache POI是一个强大的库,允许程序员使用Java来创建、修改和显示Microsoft...
在本文中,我们将深入探讨如何使用Apache POI读取Excel表格内容。 首先,我们需要理解Apache POI的基本架构。POI分为两个主要部分:HSSF(Horizontally-Scalable Storage Format)用于处理旧版的BIFF格式Excel文件...
首先,让我们理解标题"poi复制指定行数的Excel表格内容"。这指的是使用Apache POI库来复制Excel文件中特定行的数据,并保留原有的格式和样式。在实际应用中,这可能是因为你需要创建报告的副本,或者需要对原始数据...
本教程将详细讲解如何使用Apache POI库来读取Excel文件的内容。 首先,为了在Java项目中使用Apache POI,我们需要通过Maven进行依赖管理。在`pom.xml`文件中添加以下依赖: ```xml <groupId>org.apache.poi ...
有时候,我们需要在 Java 程序中读取 Excel 文件的内容,例如将 Excel 表格中的数据导入到数据库中或者进行数据分析。这时候,我们可以使用 Apache 的 POI 工具包来读取 Excel 文件。 POI(Poor Obfuscation ...
在这个“POI导出Excel表格”的实例中,我们将深入探讨如何利用Apache POI进行Excel文件的导入与导出操作。 首先,我们需要在项目中集成Apache POI库。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```...
这篇博客“java POI 导出复杂要求的表格”可能详细介绍了如何使用POI库来创建和定制满足特定需求的Excel表格。 在处理复杂的表格时,POI提供了广泛的API,可以处理单元格的样式、数据类型、公式以及工作表的各种...
在Java中,它允许开发者创建、修改和读取Excel工作簿、工作表以及单元格的数据。POI库不仅支持基本的文本和数字操作,还支持更高级的功能,如公式计算、样式设置和图表创建。 2. **创建Excel图表** 要生成Excel图表...