这是转自csdn
1.引poi的jar包
csdn有免费资源
2.代码
package com.shuaijie;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import org.apache.poi.hssf.usermodel.HSSFDateUtil;
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;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class ReadExcel{ //poi读取excel数据
public static void read(String fileName,boolean flag) throws Exception {
Workbook wb = null;
if(flag){//2003
File f = new File("D:/XXX.xls");
FileInputStream is = new FileInputStream(f);
POIFSFileSystem fs = new POIFSFileSystem(is);
wb = new HSSFWorkbook(fs);
is.close();
}else{//2007
wb = new XSSFWorkbook("D:/XXX.xlsx");
}
read(wb);
}
public static void read(InputStream is,boolean flag) throws Exception {
Workbook wb = null;
if(flag){//2003
wb = new HSSFWorkbook(is);
}else{//2007
wb = new XSSFWorkbook(is);
}
read(wb);
}
public static void read(Workbook wb) throws Exception {
try {
for (int k = 0; k < wb.getNumberOfSheets(); k++) {
Sheet sheet = wb.getSheetAt(k);
int rows = sheet.getPhysicalNumberOfRows();
for (int r = 0; r < rows; r++) {
// 定义 row
Row row = sheet.getRow(r);
if (row != null) {
int cells = row.getPhysicalNumberOfCells();
for (short c = 0; c < cells; c++) {
Cell cell = row.getCell(c);
if (cell != null) {
String value = null;
switch (cell.getCellType()) {
case Cell.CELL_TYPE_FORMULA:
value = "FORMULA value=" + cell.getCellFormula();
break;
case Cell.CELL_TYPE_NUMERIC:
if(HSSFDateUtil.isCellDateFormatted(cell)){
value = "DATE value="
+ cell.getDateCellValue();
}else{
value = "NUMERIC value="
+ cell.getNumericCellValue();
}
break;
case Cell.CELL_TYPE_STRING:
value = "STRING value="
+ cell.getStringCellValue();
break;
case Cell.CELL_TYPE_BOOLEAN:
value = "BOOLEAN value="
+ cell.getBooleanCellValue();
cell.getDateCellValue();
break;
default:
}
System.out.println(value);
}
}
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) throws Exception {
File f = new File("D:/XXX.xlsx");
FileInputStream is = new FileInputStream(f);
System.out.println(f.getName());
read(is,false);
}
}
分享到:
相关推荐
java读取excel文件内容,可读取2003和2007版本
要读取Excel到DataTable,首先需要创建一个DataTable实例,然后遍历Excel文件中的每个工作表。对于Excel 2003,使用HSSFWorkbook,对于Excel 2007及以上,使用XSSFWorkbook。这里的关键在于,可以通过文件扩展名或...
本文将详细讲解如何实现这个功能,涵盖读取Excel 2003(.xls)和Excel 2007及以上版本(.xlsx)两种不同格式的方法。 首先,读取Excel 2003(.xls)文件通常使用的是Microsoft提供的`Microsoft.Office.Interop....
结合phpExcel插件,写的一个读取excel2007、excel2003工作表内容,并返回二维数组的例子。可以自定义读取哪一张工作表,哪几列,哪几行的excel内容;可以进行扩展,修改里面的代码来适应你的项目。代码有充分的注释...
在Java编程中,读取Excel文件是常见的任务,特别是在数据处理和分析的场景下。Excel文件格式有两种主要版本,即2003年的.xls(基于BIFF8格式)和2007年及以后的.xlsx(基于OpenXML标准)。本教程将详细讲解如何使用...
标签"读取excel"表明这是关于如何用编程方式读取Excel文件的知识,而"2003excel"和"2007excel"则强调了对不同版本的支持。在实际开发中,考虑到用户可能使用的不同Excel版本,程序需要具备良好的兼容性,确保能正确...
读取环境为Win10+VS2015,个人参考资料封装的excel读取模块用来读取Excel2007中的数据,文件为压缩文件,亲测可用。
在这个"poi读取excel2007和2003兼容工具例子"中,我们将探讨如何使用POI来读取不同版本的Excel文件,特别是Excel 2003(.xls)和Excel 2007及更高版本(.xlsx)。 1. **Apache POI库**:Apache POI是Apache软件基金...
Java读取Excel内容 v Java读取Excel内容 Java读取Excel内容
总的来说,无论是用户界面操作还是编程接口,读取Excel2003和Excel2007文件都是相对简单的过程,只需要确保所使用的软件或库支持相应的文件格式。随着技术的发展,现代版本的Excel和相关库已经很好地兼容了旧版本的...
在.NET框架中,使用C#语言来读取和编辑Excel 2003文档是一项常见的任务,这在处理数据导入、导出或者自动化办公场景中非常有用。以下是一些关于如何实现这一目标的关键知识点: 1. **Microsoft Office Interop**: ...
在C++中,读取Excel数据通常涉及到使用OLE Automation(对象链接和嵌入自动化)技术,这是一种允许不同应用程序之间交互的方式。在这个特定的例子中,我们使用Microsoft Visual Studio 2003 MFC(Microsoft ...
"Delphi7 读取 Excel 文件" Delphi7 是一个功能强大的开发环境,它提供了多种方式来读取 Excel 文件。在本文中,我们将介绍使用 OLE 和 Excel Application 读取 Excel 文件的方法。 使用 OLE 读取 Excel 文件 ...
jquery读取excel组件,可读取excel表格中的内容
在Qt框架下,读取Excel文件通常涉及到使用第三方库,如QAxContainer模块或QCustomPlot等。QAxContainer允许Qt应用程序与ActiveX控件交互,而Excel文件可以通过Microsoft的COM接口来访问。以下是详细的知识点说明: ...
标题中的“Excel2003与Excel2007导入”指的是在编程环境中处理这两个不同版本的Microsoft Excel文件格式的兼容性问题。Excel2003使用的是.BIFF8文件格式,而Excel2007引入了新的.OpenXML格式(.xlsx)。在处理这两种...
介绍在标准的ExcelReader中,如果数据量较大,读取Excel会非常缓慢,并有可能造成内存溢出。因此针对大数据量的Excel,Hutool封装了event
在处理Excel文件时,QT虽然没有内置的专门模块,但可以通过一些第三方库如QAxContainer或QSpreadsheet来实现快速读取Excel文件的功能。 QAxContainer是QT提供的一个ActiveX控件容器,允许在QT应用中使用Windows的...
在给定的标题和描述中,"jsp+jspsmart上传+poi3.8读取excel2007+jxl读取excel2003" 提到了一种结合Java Web技术实现文件上传,并通过不同库解析Excel文件的解决方案。这里我们将详细探讨涉及的各个知识点。 首先,`...
这个简单的例程将向我们展示如何使用VB2010来读取Excel2007中的数据,并将其显示在文本框(TextBox)中。 首先,我们需要引入Excel相关的引用。在VB2010的项目中,选择“解决方案资源管理器”中的项目,然后右键...