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」。
打开如下。
没有评论:
发表评论