POI是APACHE出品的一个OFFICE文档操作类库,下面对读取HSSF的一个基本试用。
1、编写测试程序:
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.text.SimpleDateFormat;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFDateUtil;
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.poifs.filesystem.POIFSFileSystem;
import org.apache.poi.ss.usermodel.Cell;
public class Test {
public static void main(String[] args) {
Test t = new Test();
try {
t.read();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void read() throws IOException {
InputStream input = new FileInputStream("input.xls");
POIFSFileSystem fs = new POIFSFileSystem(input);
HSSFWorkbook wb = new HSSFWorkbook(fs);
HSSFSheet sheet = wb.getSheetAt(0);
for (int r = 0, size = sheet.getPhysicalNumberOfRows(); r < size; r++) {
HSSFRow row = sheet.getRow(r);
for (int c = 0, csize = row.getPhysicalNumberOfCells(); c < csize; c++) {
HSSFCell cell = row.getCell(c);
String value = "";
int type = cell.getCellType();
switch (type) {
case Cell.CELL_TYPE_NUMERIC:
if (HSSFDateUtil.isCellDateFormatted(cell)) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
value = sdf.format(cell.getDateCellValue());
} else {
value = String.valueOf(cell.getNumericCellValue());
}
break;
case Cell.CELL_TYPE_FORMULA:
value = String.valueOf(cell.getCellFormula());
break;
default:
value = cell.getStringCellValue();
}
System.out.print(c + "=" + value + "| ");
}
System.out.println();
}
}
}
2、准备相关的input.xls(其中公式列添加了乘积公式):
编号 |
部门 |
日期 |
时间 |
数字 |
公式 |
IA100914-006 |
变电一部 |
2010-09-14 |
2010-09-14 17:21:10 |
2 |
4 |
IA100914-005 |
变电一部 |
2010-09-14 |
2010-09-14 17:21:10 |
3 |
6 |
IA100914-004 |
变电一部 |
2010-09-14 |
2010-09-14 17:21:10 |
4 |
8 |
IA100719-001 |
调度中心 |
2010-07-19 |
2010-09-03 17:01:54 |
5 |
10 |
IA100908-016 |
变电一部 |
2010-09-08 |
2010-09-14 16:48:28 |
6 |
12 |
3、得到的输出:
0=编号| 1=部门| 2=日期| 3=时间| 4=数字| 5=公式|
0=IA100914-006| 1=变电一部| 2=2010-09-14 00:00:00| 3=2010-09-14 17:21:10| 4=2.0| 5=PRODUCT(E2,2)|
0=IA100914-005| 1=变电一部| 2=2010-09-14 00:00:00| 3=2010-09-14 17:21:10| 4=3.0| 5=PRODUCT(E3,2)|
0=IA100914-004| 1=变电一部| 2=2010-09-14 00:00:00| 3=2010-09-14 17:21:10| 4=4.0| 5=PRODUCT(E4,2)|
0=IA100719-001| 1=调度中心| 2=2010-07-19 00:00:00| 3=2010-09-03 17:01:54| 4=5.0| 5=PRODUCT(E5,2)|
0=IA100908-016| 1=变电一部| 2=2010-09-08 00:00:00| 3=2010-09-14 16:48:28| 4=6.0| 5=PRODUCT(E6,2)|
4、总体评价:
1)API比较底层,有些繁琐。
2)对于日期时间类型的处理,还有待改进
分享到:
相关推荐
解决POI读取EXCEL时报org.apache.poi.hssf.record.RecordInputStream$LeftoverDataException异常
velocity开发插件org.apache.poi.hssf.usermodel.HSSFCellorg.apache.poi.hssf.usermodel.HSSFCell
`org.apache.poi.hssf.converter` 是Apache POI的一个子模块,它专注于处理老版本的Excel文件(.xls),也就是基于HSSF(Horizontally Stored Spreadsheet Format)的文件。 在这个标题为“org.apache.poi.hssf....
import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFCellStyle; import org.apache.poi.hssf.usermodel.HSSFFont; import org.apache.poi.hssf.usermodel.HSSFPalette; ...
import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFCellStyle; import org.apache.poi.hssf.usermodel.HSSFFont; import org.apache.poi.hssf.usermodel.HSSFPalette; ...
Apache POI HSSF和XSSF读写EXCEL总结
color org.apache.poi.hssf.util.HSSFColor$GREY_80_PERCENT@1aadbf7 color org.apache.poi.hssf.util.HSSFColor$INDIGO@4f4458 color org.apache.poi.hssf.util.HSSFColor$PLUM@100c56 color org.apache.poi....
在"poi-3.8-POI-HSSF和POI-XSSF和SXSSF.rar"这个压缩包中,主要涵盖了POI项目对Excel文件处理的三个关键组件:HSSF、XSSF和SXSSF。 1. HSSF (Horrible Spreadsheet Format):这是POI项目早期开发的一个API,用于...
标题中的“POI HSSF”指的是Apache POI项目中的HSSF组件,这是一个Java库,用于读写Microsoft Excel(.xls)文件格式。Apache POI是一个流行的开源库,它允许开发者在Java应用程序中处理Microsoft Office文档,包括...
org.apache.poi JAR包,解决import org.apache.poi.hssf.usermodel.HSSFWorkbook; 支持office全系excel文件解析。 import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFRow; ...
解析excel数据入库的三个jar包,org.apache.poi.hssf.usermodel.HSSFCell; org.apache.poi.hssf.usermodel.HSSFRow; org.apache.poi.hssf.usermodel.HSSFSheet; org.apache.poi.hssf.usermodel.HSSFWorkbook;
Springboot使用基于POI的HSSF(对应2003 Excel,当然,如果需要使用XSSF,大多数HSSF可以直接替换为XSSF。方法和对象基本对应,有些可以在线搜索)将数据导出到Excel模板中,
### 使用Apache POI HSSF控制Excel的研究 #### 一、简介 Apache POI是一个流行的Java库,用于处理Microsoft Office格式的文件,包括Excel (`.xls`) 和Word (`.doc`)等。其中,HSSF(Hadoop Sheet Storage Format)...
HSSF(Horizontally Stored Sheet Format)是Apache POI项目的一部分,专注于处理旧版的Excel文件格式,即BIFF8格式,通常用于.xls文件。以下是对使用Apache POI HSSF进行Excel读写操作的详细知识点: 1. **HSSF...
* org.apache.poi.hssf.usermodel.HSSFWorkbook * org.apache.poi.hssf.usermodel.HSSFSheet * org.apache.poi.hssf.usermodel.HSSFRow * org.apache.poi.hssf.usermodel.HSSFCell * org.apache.poi.hssf.usermodel....
在本文中,我们将深入探讨如何使用POI库中的HSSF和XSSF组件来读取和写入Excel文件,这两种组件分别用于处理.xls(97-2003版Excel格式)和.xlsx(2007及更高版本的Office Open XML格式)。 首先,让我们了解HSSF...
import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFCell; public ...
其中,HSSF(Horizontally Split Formatted)是POI库的一个子项目,主要负责处理老版本的Excel文件,即.BIFF8格式的Excel 97-2007文件。在本文中,我们将深入探讨POI HSSF 3.2版本中的核心概念和操作API。 首先,`...