jxl 能够操作的 excel 样式:

1. Workbook的格式设置(代表一个excel文件)

2. Sheet的格式设置(代表一个表格)

3. Cell的格式设置(代表一个单元格)

PS:此jxl API是基于jxl 2.6而来的

   官方API:http://jexcelapi.sourceforge.net/resources/javadocs/current/docs/

具体内容:

1. Workbook的格式,Workbook的格式由WorkbookSettings来设置,比较需要注意的是jxl的格式设置统一使用了有get/set方法的bean来操作,这样做的好处是不仅查看API设置格式变成方便,而且把Workbook的格式分离出来有得于扩展.WorkbookSettings的API我试过几个,在word 2010下没有一个起作用,也不知道为什么.不过jxl有一套默认的WorkbookSettings设置,一般情况下使用默认的就可以了,有什么特殊需要可以看API,不过API并不是特别详细.使用方式:

    1 WorkbookSettings bookSettings = new WorkbookSettings();
     bookSettings.setEncoding("UTF-8");
     WritableWorkbook book = Workbook.createWorkbook(new File("E:/testwrite.xls"), bookSettings);

2.Sheet的格式由SheetSettings来设置,使用方式:

    WritableWorkbook book = Workbook.createWorkbook(new File("E:/testwrite.xls"), bookSettings);
    WritableSheet sheet = book.createSheet("sheet1", 0);
    SheetSettings settings = sheet.getSettings(); // sheet格式
    settings.setDefaultColumnWidth(6);// 默认字体是10,所以刚好适应6个字符
    settings.setDefaultRowHeight(400);// 显示是10像素

  几个用有的API:

  

a)         setDefaultColumnWidth/setDefaultRowHeight设置单元格默认的宽度与高度,宽度的大小是根据当前的默认字体的大小来设置的,而高度则是适应的,除非    你设置了高度,高度的单位是设置值1/20像素.

PS:所有的格式都是在book.write()才写进excel文件的.因此可以对参数在write之前进行修改.

b)         setHorizontalFreeze/setVerticalFreeze设置列,行的固定,这个是从1开始算起的.

c)         setHeader/setFooter设置打印时的页头与页尾的输出内容,在SheetSettings里的很多设置都和打印的格式有关.

  3. Cell的格式设置由WritableCellFormat去设定,Cell有三种类型的格式:文本格式,数字格式和日期格式,与它们相关的格式都在jxl.write.*中可以找到.

  几个有用API:

  

a)         文本处理,使用WritableFont类来设置格式,能够设置文本的字体,大小(像素),是否加粗,是否斜体,是否有下划线,颜色,上下标的格式:

            // 文字处理
WritableFont font = new WritableFont(WritableFont.ARIAL);
// 设置字体有arial,Times New Roman,Courier New,Tahoma
font.setBoldStyle(WritableFont.BOLD); // 加粗
font.setItalic(true); // 斜体
font.setUnderlineStyle(UnderlineStyle.DOUBLE); // 下划线
font.setColour(Colour.BLUE_GREY); // 字体颜色
font.setPointSize(20); // 字体大小
font.setScriptStyle(ScriptStyle.SUBSCRIPT); // 是否上下标
WritableCellFormat format = new WritableCellFormat(font);
Label label = new Label(0, 0, "abcdef", format);
sheet.addCell(label);

b)         超文本处理,使用WritableHyperlink设置格式,能够设置一定单元格内点击打开网页或者本地文件.

            // 超文本处理
WritableHyperlink link = new WritableHyperlink(0,4,0,5, new URL("http://www.baidu.com"),"百度");
sheet.addHyperlink(link);// 打开网页 WritableHyperlink link1 = new WritableHyperlink(0, 6, new File("E:/test.xls"));
sheet.addHyperlink(link1); // 打开本地excel

c)         数字处理,使用NumberFormat设置数字格式,可以使用自定义的格式,通过使用#号来决定保留的数位,不足#号的长度的不会用0补充,还可以用0符号,这个会进行补充0.

            // 四舍五入,数字处理
NumberFormat numberFormat = new NumberFormat("0000000.0000");
WritableCellFormat format1 = new WritableCellFormat(numberFormat);
Number number = new Number(0, 1, 3234.62, format1);
sheet.addCell(number);

d)         日期处理,jxl有自带的格式,不过格式自己也会用啦

            // 日期格式处理
Date time = Calendar.getInstance().getTime();
DateFormat dateFormat = new DateFormat("yyyy-MM-dd HH:mm:ss");
WritableCellFormat format2 = new WritableCellFormat(dateFormat);
DateTime timeCell = new DateTime(0, 2, time, format2);
sheet.addCell(timeCell);

e)         图片处理:

            // 图片处理
WritableImage writableImage = new WritableImage(10,10,50,50, new File("E:/blue.png"));
sheet.addImage(writableImage);

PS:记得close book流,清理内存.

            book.write();
book.close();

  

jxl 处理 Excel 样式的更多相关文章

  1. JXL解析Excel表格内容到数据库

    java中常用的解析Excel表格的工具一种是POI一种是JXL,POI功能强大,相比JXL稍嫌复杂,对表格样式的处理非常好:而JXL解析简单方便,对中文支持比较好. 工作中解析Excel内容上传到数 ...

  2. jxl导出Excel中需要跳过的的坑

    正如上篇文章(JXL封装不能使用static关键字问题)所说,在jxl导出Excel时候如果频繁使用到WritableCellFormat去设置单元格的样式,这个时候经常会出现两种情况: 1.报警告: ...

  3. java利用jxl操作Excel

    /** * 把从数据库查询到的数据,写入电子表格 * * @throws Exception */ public void createXls() throws Exception { Dao dao ...

  4. Java:JXL解析Excel文件

    项目中,有需求要使用JXL解析Excel文件. 解析Excel文件 我们先要将文件转化为数据流inputStream. 当inputStream很大的时候 会造成Java虚拟器内存不够 抛出内存溢出 ...

  5. jxl读写excel的方法

    jxl 只有excel基本的操作,代码操作比较方便,一般使用jxl就够了,对图片支持较好 poi功能比jxl强大但是比较吃内存,支持计算公式 具体参考链接    http://www.cnblogs. ...

  6. 利用jxl读取excel合并的单元格的一个小样例

    工作中我们可能要把Excel文件的记录保存到数据库, 今天我用jxl读取Excel文件时遇到了合并格的问题,记录例如以下: 如Excel文件例如以下: watermark/2/text/aHR0cDo ...

  7. jxl读写excel, poi读写excel,word, 读取Excel数据到MySQL

    这篇blog是介绍: 1. java中的poi技术读取Excel数据,然后保存到MySQL数据中. 2. jxl读写excel 你也可以在 : java的poi技术读取和导入Excel了解到写入Exc ...

  8. Jxl创建Excel文件和解析Excel文件

    import java.io.File; import jxl.Workbook; import jxl.write.Label; import jxl.write.WritableSheet; im ...

  9. java中使用jxl读取excel中的数据

    package bboss; import java.io.File; import java.io.FileInputStream; import java.io.IOException; impo ...

随机推荐

  1. Python安装mysql-python错误提示python setup.py egg_info

    做python项目,需要用到mysql,一般用python-mysql,安装时遇到错误提示如下: Command "python setup.py egg_info" failed ...

  2. TCP协议疑难杂症全景解析

    说明: 1).本文以TCP的发展历程解析容易引起混淆,误会的方方面面2).本文不会贴大量的源码,大多数是以文字形式描述,我相信文字看起来是要比代码更轻松的3).针对对象:对TCP已经有了全面了解的人. ...

  3. 我的第一个WP8.1应用总结

    我的LUMIA925已经买了很久了,想自己开发WP应用放在上面,却一直想不到有什么特别的想法和需要.前几天的事情正好让我有了这个机会. 前几天在客户机房工作的时候,同事打电话来说另一个客户由于换了电脑 ...

  4. ios UINaviBar 去除分割线

    //For a custom shadow image to be shown, custom background image must also be set with the setBackgr ...

  5. sql 2012 操作EXCEL 2013

    确认是否有Microsoft.ACE.OLEDB.12.0数据接口 --进行配置: EXEC sp_configure 'show advanced options', 1 GO RECONFIGUR ...

  6. VC++ 实现VC程序启动时最小化到任务栏(完美解决闪烁问题)

    之前写的一个VC应用程序,是程序启动时就直接出现在任务栏, 窗体不出现,等用户点击任务栏图标再出现窗口.和一些防火墙什么的软件类似. 这种效果实现并不是很困难的,硬是找不到最好的.为什么呢? 首先,在 ...

  7. windbg学习---!thread和.thread

    !thread扩展显示目标系统中线程包括ETHREAD块在内的摘要信息.该命令只能在内核模式调试下使用 !thread [-p] [-t] [Address [Flags]] -p 显示拥有该线程的进 ...

  8. Ubuntu 14.04 英文系统 安装中文搜狗输入法

    ubuntu默认的输入法是ibus框架,而搜狗输入法是基于fcitx的框架,因此需要先安装fcitx框架. STEP1: 在Ubuntu Software Center 搜索fcitx,安装fcitx ...

  9. Vue.JS入门学习随笔

    PS:先说说学习Vue的缘由吧,学习完了React之后,突然发现又出了一款叫做vue的框架,而且据说可以引领又一波新框架的潮流,我容易吗我!!!   Vue.js(读音 /vjuː/, 类似于view ...

  10. 一个简单的左侧固定右侧自适应demo

    <!DOCTYPE html><html> <head> <meta charset="utf-8" /> <title> ...