现阶段JAVA操作Excel的JAR主要有apache 的POI及jxl.Jxl方便快捷,POI用于对复杂Excel的操作。
Jxl官网:http://www.andykhan.com/jexcelapi/index.html
一、Jxl的API
Jxl的API主要有三个包,jxl,jxl.format,jxl.write。如果单独的分析API,可能对于更明确的了解此API没有太多的帮助,我们还是从Excel文件的层次来剥离此API吧。
一个excel文件由一个工作簿组成,一个工作簿又由n个工作表组成,每个工作表又由多个单元格组成。对应于Jxl中的结构为
读文件(包jxl) | 写文件(包jxl.write) | 说明 |
Workbook | WritableWorkbook | 工作簿 |
Sheet | WritableSheet | 工作表 |
Cell/Image/Hyperlink | WritableCell/WritableImage//WritableHyperlink | 单元格/图像/超链接 |
单元格(此处指文本单元格,图像及链接和单元格做为一个层次)分为好多种,所以在API的设计中将Cell作为一个接口而存在。 对应的jxl中的结构为:
读文件(包jxl) | 写文件(包jxl.write) | 说明 |
Cell | WritableCell | 单元格 |
BooleanCell | Boolean | 布尔值单元格 |
DateCell | DateTime | 时间单元格 |
ErrorCell | | 形式错误的单元格 |
LabelCell | Label | 文本单元格 |
NumberCell | Number | 数字单元格 |
FormualCedll | Formual | 公式单元格 |
| Blank | 空格单元格 |
BooleanFormualCell | | 布尔公式单元格 |
DateFormualCell | | 时间公式单元格 |
ErrorFormualCell | | 错误公式单元格 |
StringFormualCell | | 文本公式单元格 |
NumberFormualCell | | 数字公式单元格 |
而有的时候,我们可能将几个单元格作为一个整体来处理,在API中对应的则是:
jxl.Range
虽然数据是电子表格的核心,但是同时其也需要一些辅助类,比如文件格式设置,工作表设置与显示效果,单元格设置与显示效果等。按照其层次,则依次有以下接口或类。
读文件(包jxl) | 写文件(包jxl.write) | 说明 |
WorkbookSettings | WorkbookSettings(包jxl) | 设置workbook属性的bean |
SheetSettings | SheetSettings(包jxl) | 设置具体sheet的属性的bean(比如表头表底等) |
HeaderFooter | HeaderFooter(包jxl) | 表示表头表底类 |
HeaderFooter.Contents | HeaderFooter.Contents(包jxl) | 具体表头表底设置 |
CellFeatures | WritableCellFeautres | 表格内容相关设置(验证) |
CellReferenceHelper | | 得到引用单元格相关属性 |
CellType | | 表格相关类型 |
CellView | CellView(包jxl) | 表格视图相关设置 |
CellFormat | WritableCellFormat | 表格显示样式设置 |
| BoldStyle | 边框枚举 |
| DateFormat | 时间格式 |
| DateFormats | 时间格式枚举 |
| NumbreFormat | 数据格式 |
| NumbreFormats | 数字模式枚举 |
| WritableFont | 字体设置 |
| WriteableFont.Fontname | 静态字体内部类 |
最后,关于Jxl.format包,此包主要是一些与具体样式有关的接口和枚举,不进行具体描述。
文章摘自:http://blog.csdn.net/surgent/article/details/5836580