zoukankan      html  css  js  c++  java
  • NPOI在无Office环境下,对Office文件的操作

    在做项目的时候,经常会遇到对 Office的操作,但有时候会没有Office环境,因此给大家介绍一个思路,在没有Office环境下,对Office的处理。

    NPOI,顾名思义,就是POI的.NET版本。那POI又是什么呢?POI是一套用Java写成的库,能够帮助开发者在没有安装微软Office的情况下读写Office 97-2003的文件,支持的文件格式包括xls, doc, ppt等。目前POI的稳定版本中仅支持Excel文件格式xls,其他的都属于不稳定版本(放在poi的scrachpad目录中)。NPOI是构建在POI 3.x版本之上的,本月发布的NPOI 1.2是对应于POI 3.2 final的,所以它支持Excel文件读写,但由于人手和精力原因,还没有实现读写Word, PowerPoint, Visio的文件格式

     NPOI目前主要由以下部分组成 

    NPOI.POIFS 

    OLE2 Document File System Library  

    NPOI.HPSF

    OLE2 Propertyset library (包括SummaryInformation和DocumentSummaryInformation) 

    NPOI.HSSF

    Microsoft Excel BIFF library   

    NPOI.Util 

    基础类库,提供了很多实用功能,可用于其他读写文件格式项目的开发

    NPOI.DDF

     Microsoft Office Drawing format Library 

    NPOI.SS

    Formula Evaluation library 

    为什么要用NPOI呢? 

    第一点,        你不需要在服务器上安装微软的Office,可以避免版权问题。 

    第二点,        使用起来比Office PIA的API更加方便,更人性化。 

    第三点,        你不用去花大力气维护NPOI,NPOI Team会不断更新、改善NPOI,绝对省成本。 

    第四点,        很多事情是html和cvs法做不到的,比如说公式计算[Cell C1]=A1+B1*A2、单元格高级样式(如文本旋转、对齐、宽度)等,其中公式计算可以适当减轻服务器端的计算压力 

    第五点,        你很难保证你的客户机器上都安装了Office 2007或Office Compatiblity Pack for Office 2003,出于向前兼容的考虑,还是生成Office 97-2003格式比较可靠

    目前NPOI的最新版是NPOI 1.2 beta,其中包括了以下功能: 

    a. 读写OLE2文档 

    b. 读写DocummentSummaryInformation和SummaryInformation

    c. 基于LittleEndian的字节读写 

    d. 读写Excel BIFF格式 

    e. 识别并读写Excel BIFF中的常见Record如RowRecord, StyleRecord, ExtendedFormatRecord f. 支持设置单元格的高、宽、样式等 g. 支持调用部分Excel内建函数,比如说sum, countif以及计算符号 

    h. 支持在生成的Xls内嵌入打印设置,比如说横向/纵向打印、缩放、使用的纸张等 i. ……(功能太多,无法一一例举,大家自己研究吧) 

    下载地址:http://npoi.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=19001

  • 相关阅读:
    Java注解入门
    两种求素数
    几个经典的递归小程序
    Java8新特性——接口的默认方法和类方法
    SSH框架总结
    初识SSH框架
    Mybatis中DAO层接口没有写实现类,Mapper中的方法和DAO接口方法是怎么绑定到一起的
    使用SQL查询所有数据库名和表名
    mybatis中#{}和${}的区别
    SOCKET, TCP/UDP, HTTP, FTP 浅析
  • 原文地址:https://www.cnblogs.com/shanranlei/p/3635186.html
Copyright © 2011-2022 走看看