HSSFWorkbook public HSSFWorkbook(POIFSFileSystem fs) throws java.io.IOException
--这个构建器虽然没什么说明,但可以看出它的参数是一个「POIFSFileSystem」这样的一个类对象。那我们再来看看「POIFSFileSystem」类定义。
POIFSFileSystem类定义
「POIFSFileSystem」类对象可以把Excel文件作为数据流来进行传入传出。- java.lang.Object
- org.apache.poi.poifs.filesystem.POIFSFileSystem
- public class POIFSFileSystem extends java.lang.Object implements POIFSViewable
| 构建器 |
|---|
| POIFSFileSystem() Constructor, intended for writing |
| POIFSFileSystem(java.io.InputStream stream) Create a POIFSFileSystem from an InputStream |
POIFSFileSystem public POIFSFileSystem(java.io.InputStream stream) throws java.io.IOException
Create a POIFSFileSystem from an InputStream Parameters: stream - the InputStream from which to read the data Throws: java.io.IOException - on errors reading, or on invalid data参数设定为读入Excel文件的流对象「InputStream」。使用方法如下。
FileInputStream in = new FileInputStream("sample.xls");
POIFSFileSystem fs = new POIFSFileSystem(in);
HSSFWorkbook wb = new HSSFWorkbook(fs);
通过POIFSFileSystem读取Excel文件
下面就实际做一下如何读取Excel文件。import java.io.*;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
public class POISample{
public static void main(String[] args){
FileInputStream in = null;
HSSFWorkbook workbook = null;
try{
in = new FileInputStream("sample1.xls");
POIFSFileSystem fs = new POIFSFileSystem(in);
workbook = new HSSFWorkbook(fs);
}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);
}catch(IOException e){
System.out.println(e.toString());
}finally{
try {
out.close();
}catch(IOException e){
System.out.println(e.toString());
}
}
}
}
这个示例程序的作用是读取「sample1.xls」文件后再把它作为「sample2.xls」保存。「sample1.xls」文件如下。
实行之后,会生成一模一样的文件「sample2.xls」。
打开如下。



没有评论:
发表评论