<摘自>飞:jxl简析:http://www.emlog.net/fei
最近,完成了一个网上报表系统,刚巧用到了一个 JAVA 操作 excel 表格的 API .闲来无事,就将其大概的总结了一下.现阶段 JAVA 操作 Excel 的 JAR 主要有 apache 的 POI 及 jxl. 因为现在的 eclipse 操作 excel 用的插件为 jxl ,所以在项目中就使用了 jxl .想想两者都差不了太多.此简单系列为两个部分,一是 API 系列,另一部分则是应用系列.
一、 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 包.此包主要是一些与具体样式有关的接口和枚举.不进行具体描述.第一部分完.