• HSSFWorkbook类



要生成一个Workbook,需要用到HSSFWorkbook类文件。构造器如下:





现在我们使用2种方式来获得一个Workbook对象。

  • 1,创建excel表

HSSFWorkbook workbook = new HSSFWorkbook()。

保存操作用「HSSFWorkbook」类的「write」方法:参数是作为保存对象的输出流对象「OutputStream」。

package linkin;

import java.io.FileOutputStream;
import java.io.IOException;
import org.apache.poi.hssf.usermodel.HSSFWorkbook; public class Linkin
{
public static void main(String[] args)
{
HSSFWorkbook workbook = new HSSFWorkbook();//创建一个空白的workbook FileOutputStream out = null;
try
{
out = new FileOutputStream("sample.xls");
//fileOut= new FileOutputStream("c:\\workbook.xls");
//fileOut= new FileOutputStream("c:/workbook.xls");
workbook.write(out);//调用HSSFWorkbook类的write方法写入到输出流
System.out.println("OK");
}
catch (IOException e)
{
System.out.println(e.toString());
}
finally
{
try
{
out.close();
}
catch (IOException e)
{
System.out.println(e.toString());
}
} } }
  • 2,POIFSFileSystem类定义

「POIFSFileSystem」类对象可以把Excel文件作为数据流来进行传入传出。这里介绍下POIFSFileSystem类,这个类是专门用来读取excel表格的。他有如下2个构造器:





以下代码演示如何通过POIFSFileSystem读取Excel文件:

package linkin;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.poifs.filesystem.POIFSFileSystem; public class Linkin
{
public static void main(String[] args)
{
FileInputStream in = null;
HSSFWorkbook workbook = null; try
{
in = new FileInputStream("sample1.xls");//将excel文件转为输入流
POIFSFileSystem fs = new POIFSFileSystem(in);//构建POIFSFileSystem类对象,用输入流构建
workbook = new HSSFWorkbook(fs);//创建个workbook,根据POIFSFileSystem对象
System.out.println("OK");
}
catch (IOException e)
{
System.out.println(e.toString());
}
finally
{
try
{
in.close();
}
catch (IOException e)
{
System.out.println(e.toString());
}
} FileOutputStream out = null;
try
{
out = new FileOutputStream("sample2.xls");
workbook.write(out);
System.out.println("OK");
}
catch (IOException e)
{
System.out.println(e.toString());
}
finally
{
try
{
out.close();
}
catch (IOException e)
{
System.out.println(e.toString());
}
} } }

POI--HSSFWorkbook类的更多相关文章

  1. JAVA poi 帮助类

    pom.xml 添加引用: <!--poi--> <dependency> <groupId>org.apache.poi</groupId> < ...

  2. 关于Excel导入导出POI工具类

    import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; import ...

  3. poi 工具类

    <!--POI--> <dependency> <groupId>org.apache.poi</groupId> <artifactId> ...

  4. Apache POI 工具类 [ PoiUtil ]

    pom.xml <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml ...

  5. Java操作Excel工具类(poi)

    分享一个自己做的poi工具类,写不是很完全,足够我自己当前使用,有兴趣的可以自行扩展 1 import org.apache.commons.lang3.exception.ExceptionUtil ...

  6. Apache POI使用详解

    Apache POI使用详解 1.POI结构与常用类 (1)POI介绍 Apache POI是Apache软件基金会的开源项目,POI提供API给Java程序对Microsoft Office格式档案 ...

  7. POI使用详解

    Apache POI使用详解 1.POI结构与常用类 (1)POI介绍 Apache POI是Apache软件基金会的开源项目,POI提供API给Java程序对Microsoft Office格式档案 ...

  8. 通过Excel认识POI

    1.POI是什么 Apache POI - the Java API for Microsoft Documents,顾名思义,Apache的三方包,用来操作微软office文档的,多数时候用来操作e ...

  9. jspsmart(保存文件)+poi(读取excel文件)操作excel文件

    写在前面: 项目环境:jdk1.4+weblogic 需求:能上传excel2003+2007 由于项目不仅需要上传excel2003,还要上传excel2007,故我们抛弃了jxl(只能上传exce ...

随机推荐

  1. kindeditor 上传下载文件

    jsp代码 1 <script type="text/javascript" src="${pageContext.request.contextPath}/kin ...

  2. 机器学习笔记4-Tensorflow线性模型示例及TensorBoard的使用

    前言 在上一篇中,我简单介绍了一下Tensorflow以及在本机及阿里云的PAI平台上跑通第一个示例的步骤.在本篇中我将稍微讲解一下几个基本概念以及Tensorflow的基础语法. 本文代码都是基于A ...

  3. Chris Richardson微服务翻译:微服务架构中的服务发现

    Chris Richardson 微服务系列翻译全7篇链接: 微服务介绍 构建微服务之使用API网关 构建微服务之微服务架构的进程通讯 微服务架构中的服务发现(本文) 微服务之事件驱动的数据管理 微服 ...

  4. Python => ValueError: unsupported format character 'Y' (0x59)

    产生问题的原因是:SQL语句的'%Y-%m-%d'部分被再次解释为字符串格式,并抛出错误 解决方案一:字符串%形式进行替换 '%string' % string. '%Y-%m-%d'改写为'%%%% ...

  5. 利用java的反射,实现工厂创建对象

    public static Object getInstance(Class c){ Object obj = null; try { obj = c.newInstance(); } catch ( ...

  6. Codeforces #451 Div2 F

    #451 Div2 F 题意 给出一个由数字组成的字符串,要求添加一个加号和等号,满足数字无前导 0 且等式成立. 分析 对于这种只有数字的字符串,可以快速计算某一区间的字符串变成数字后并取模的值,首 ...

  7. CountDownLatch源码解析

    一.CountDownLatch介绍 CountDownLatch是在jdk1.5被引入的,它主要是通过一个计数器来实现的,当在初始化该类的构造函数时,会事先传入一个状态值,之后在执行await方法后 ...

  8. Free Pascal初次体验(有亮点哦)

    感觉上Pascal语言写的非常有条理,和英语很像,应该是比较容易学,但是写起来真的是麻烦的要死,平时一行代码用C/C++可能就是几秒钟,用Pascal就要几分钟,Free Pascal感觉也不是很好用 ...

  9. [bzoj3673] 可持久化并查集 by zky

    总感觉到现在才来写这题有点奇怪. 并查集如果按秩合并的话,每次合并只会修改一个点的父亲. 用可持久化线段树来实现可持久化数组就行了.. 然而我写的是按子树大小合并..结果比按秩合并慢了一点>_& ...

  10. android动画源码合集、动态主题框架、社交app源码等

    Android精选源码 仿MIUI果冻视图-BouncingJellyView   一个快速易用的动态主题框架   android动画效果集合源码   android使用Kotlin开发的Dribbb ...