`
kinkding
  • 浏览: 150551 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

POI之HSSF初探

    博客分类:
  • JAVA
阅读更多

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)对于日期时间类型的处理,还有待改进

 

分享到:
评论

相关推荐

    org.apache.poi.hssf.record.RecordInputStream$LeftoverDataException

    解决POI读取EXCEL时报org.apache.poi.hssf.record.RecordInputStream$LeftoverDataException异常

    org.apache.poi.hssf.usermodel.HSSFCell

    velocity开发插件org.apache.poi.hssf.usermodel.HSSFCellorg.apache.poi.hssf.usermodel.HSSFCell

    org.apache.poi.hssf.converter,office转html所需包

    `org.apache.poi.hssf.converter` 是Apache POI的一个子模块,它专注于处理老版本的Excel文件(.xls),也就是基于HSSF(Horizontally Stored Spreadsheet Format)的文件。 在这个标题为“org.apache.poi.hssf....

    org.apache.poi jar包

    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; ...

    org.apache.poi JAR包

    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总结

    Apache POI HSSF和XSSF读写EXCEL总结

    poi颜色常量对应表

    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-3.8-POI-HSSF和POI-XSSF和SXSSF.rar"这个压缩包中,主要涵盖了POI项目对Excel文件处理的三个关键组件:HSSF、XSSF和SXSSF。 1. HSSF (Horrible Spreadsheet Format):这是POI项目早期开发的一个API,用于...

    POI HSSF - Excel实例

    标题中的“POI HSSF”指的是Apache POI项目中的HSSF组件,这是一个Java库,用于读写Microsoft Excel(.xls)文件格式。Apache POI是一个流行的开源库,它允许开发者在Java应用程序中处理Microsoft Office文档,包括...

    org.apache.poi JAR包 Java

    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; ...

    apache poi解析excel数据的jar包

    解析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,

    Springboot使用基于POI的HSSF(对应2003 Excel,当然,如果需要使用XSSF,大多数HSSF可以直接替换为XSSF。方法和对象基本对应,有些可以在线搜索)将数据导出到Excel模板中,

    用POI的HSSF来控制EXCEL的研究

    ### 使用Apache POI HSSF控制Excel的研究 #### 一、简介 Apache POI是一个流行的Java库,用于处理Microsoft Office格式的文件,包括Excel (`.xls`) 和Word (`.doc`)等。其中,HSSF(Hadoop Sheet Storage Format)...

    POI3.5 HSSF 和XSSF Excel操作快速入门手册.pdf

    ### POI3.5 HSSF 和XSSF Excel操作快速入门手册 #### 一、简介 Apache POI 是一个用于读写Microsoft Office格式文件的Java API,包括但不限于Excel、Word等。其中,HSSF用于处理Excel 97-2003格式(.xls),而XSSF则...

    Apache POI HSSF读写Excel

    HSSF(Horizontally Stored Sheet Format)是Apache POI项目的一部分,专注于处理旧版的Excel文件格式,即BIFF8格式,通常用于.xls文件。以下是对使用Apache POI HSSF进行Excel读写操作的详细知识点: 1. **HSSF...

    java POI 详解

    * 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操作Excel,HSSF,XSSF两种方式(.xls与.xlsx)导入导出

    在本文中,我们将深入探讨如何使用POI库中的HSSF和XSSF组件来读取和写入Excel文件,这两种组件分别用于处理.xls(97-2003版Excel格式)和.xlsx(2007及更高版本的Office Open XML格式)。 首先,让我们了解HSSF...

    java_poi实现excel导入导出

    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 ...

    POI HSSF 3.2

    其中,HSSF(Horizontally Split Formatted)是POI库的一个子项目,主要负责处理老版本的Excel文件,即.BIFF8格式的Excel 97-2007文件。在本文中,我们将深入探讨POI HSSF 3.2版本中的核心概念和操作API。 首先,`...

Global site tag (gtag.js) - Google Analytics