<摘自>飞: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 包.此包主要是一些与具体样式有关的接口和枚举.不进行具体描述.第一部分完.