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

<摘自>飞:jxl简析[ http://www.emlog.net/fei ]的更多相关文章

  1. <摘自>飞:jxl简析2 [ http://www.emlog.net/fei ]

    [<摘自>飞:jxl简析:http://www.emlog.net/fei] (二)应用 在进行实践前 , 我们需要对 excel 有一个大致的了解 ,excel 文件由一个工作簿 (Wo ...

  2. SpringMVC学习(一)——概念、流程图、源码简析

    学习资料:开涛的<跟我学SpringMVC.pdf> 众所周知,springMVC是比较常用的web框架,通常整合spring使用.这里抛开spring,单纯的对springMVC做一下总 ...

  3. 简析.NET Core 以及与 .NET Framework的关系

    简析.NET Core 以及与 .NET Framework的关系 一 .NET 的 Framework 们 二 .NET Core的到来 1. Runtime 2. Unified BCL 3. W ...

  4. 简析 .NET Core 构成体系

    简析 .NET Core 构成体系 Roslyn 编译器 RyuJIT 编译器 CoreCLR & CoreRT CoreFX(.NET Core Libraries) .NET Core 代 ...

  5. RecycleView + CardView 控件简析

    今天使用了V7包加入的RecycleView 和 CardView,写篇简析. 先上效果图: 原理图: 这是RecycleView的工作原理: 1.LayoutManager用来处理RecycleVi ...

  6. Java Android 注解(Annotation) 及几个常用开源项目注解原理简析

    不少开源库(ButterKnife.Retrofit.ActiveAndroid等等)都用到了注解的方式来简化代码提高开发效率. 本文简单介绍下 Annotation 示例.概念及作用.分类.自定义. ...

  7. PHP的错误报错级别设置原理简析

    原理简析 摘录php.ini文件的默认配置(php5.4): ; Common Values: ; E_ALL (Show all errors, warnings and notices inclu ...

  8. Android 启动过程简析

    首先我们先来看android构架图: android系统是构建在linux系统上面的. 所以android设备启动经历3个过程. Boot Loader,Linux Kernel & Andr ...

  9. Android RecycleView + CardView 控件简析

    今天使用了V7包加入的RecycleView 和 CardView,写篇简析. 先上效果图: 原理图: 这是RecycleView的工作原理: 1.LayoutManager用来处理RecycleVi ...

随机推荐

  1. shell-的特殊变量-难点理论

    一:shell的特殊变量-难点理论  1. $*和$@的区别例子     $* 将所有的命令行所有参数视为单个字符串,等同于"$1$2$3"     $@ 将命令行每个参数视为单独 ...

  2. arcgis-java-100.8.0.jar下载

    链接: https://pan.baidu.com/s/1HoW2IhPvHRw9LBZphxC5Rw 提取码: pexn

  3. golang不想http自动处理重定向的解决方案

    目录 前言 解决方案 结论 前言     有时候发送http请求不想让库自动帮忙处理重定向,库里面默认的是会把所有重定向都完成一遍,结果就是最后一个没有重定向的请求的结果.因此需要一种方案直接获取首次 ...

  4. centos 7.0 更改启动环境/启动进入图形界面/命令行模式

    当前我桌面模式 systemctl set-default multi-user.target ln -sf /lib/systemd/system/multi-user.target /etc/sy ...

  5. SpringBoot+Activiti+bpmn.js+Vue.js+Elementui(OA系统审批流)

    引言:OA系统用到请假.加班.调休.离职,需要使用工作流进行流程审批 一:activiti流程设计器的选择(通过学习activiti工作流过程中,发现一款好的流程设计器将会更好的方便的设计好流程(主要 ...

  6. 用Pycharm创建指定的Django版本

    最近在学习胡阳老师(the5fire)的<Django企业级开发实战>,想要使用pycharm创建django项目时,在使用virtualenv创建虚拟环境后,在pycharm内,无论如何 ...

  7. kali linux 换国内源

    输入命令 vim /etc/apt/sources.list 添加国内源 #中科大deb http://mirrors.ustc.edu.cn/kali kali-rolling main non-f ...

  8. Elasticsearch索引的操作,利用kibana 创建/删除一个es的索引及mapping映射

    索引的创建及删除 1. 通过索引一篇文档创建了一个新的索引 .这个索引采用的是默认的配置,新的字段通过动态映射的方式被添加到类型映射. 利用Kibana提供的DevTools来执行命令,要创建一个索引 ...

  9. C语言/C++编译环境的设置!有的人还没开始就卡住了!

    本地环境设置 如果您想要设置 C++ 语言环境,您需要确保电脑上有以下两款可用的软件,文本编辑器和 C++ 编译器. 文本编辑器 这将用于输入您的程序.文本编辑器包括 Windows Notepad. ...

  10. mysql8在生产环境中的配置

    一,配置文件的位置 [root@yjweb ~]# ll /etc/my.cnf -rw-r--r-- 1 root root 935 Mar 11 16:52 /etc/my.cnf 说明:通常我们 ...