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. iOS7——UIControlEventTouchDown延迟响应问题

    问题描述 在iOS7下开发,真机调试时,UIButton的其他事件响应都正常,但是UIControlEventTouchDown事件响应会延迟,而且不同响应区域发生的延时情况不同,有时延迟1s以后响应 ...

  2. Kafka深入理解-1:Kafka高效的文件存储设计

    文章摘自:美团点评技术团队  Kafka文件存储机制那些事 Kafka是什么 Kafka是最初由Linkedin公司开发,是一个分布式.分区的.多副本的.多订阅者,基于zookeeper协调的分布式日 ...

  3. 9.1 js基础总结2

    3.布尔类型(Boolean) 布尔型数据只有true和false两个值,与字符串不同,不要把布尔值用引号括起来,布尔值false与字符串“false”是两回事. var married = true ...

  4. Topcoder几例C++字符串应用

    本文写于9月初,是利用Topcoder准备应聘时的机试环节临时补习的C++的一部分内容.签约之后,没有再进行练习,此文暂告一段落. 换句话说,就是本文太监了,一直做草稿看着别扭,删掉又觉得可惜,索性发 ...

  5. PHP抓取及分析网页的方法详解

    本文实例讲述了PHP抓取及分析网页的方法.分享给大家供大家参考,具体如下: 抓取和分析一个文件是非常简单的事.这个教程将通过一个例子带领你一步一步地去实现它.让我们开始吧! 首先,我首必须决定我们将抓 ...

  6. Python之路-Day2

    二进制 1bit = 一个二进制位 8bit = 1byte 循环 for while 数据类型 数字.字符串.列表.元祖.字典.集合 字符编码 文件处理 for循环: for i in range( ...

  7. Android Studio新建一个HelloWorld 程序(App)

    Android Studio新建一个HelloWorld程序(App) 新建 或者直接启动程序(注:如果已有程序,此方法会直接打开最近一次关闭从程序) 更改App名 选择App运行平台 选择模板 更改 ...

  8. Mediator(中介者)-对象行为型模式

    1.意图 用一个中介对象来封装一系列的对象交互.中介者使各个对象不需要显示地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互. 2.动机 通过将集体行为封装在一个单独的中介者对象中,中介者 ...

  9. arduino编程语言Wiring参考手册API

    对Arduino的编程是利用 Arduino编程语言 (基于 Wiring)和Arduino开发环境(based on Processing)来实现的. 通过编程,Arduino可以实现很多种功能. ...

  10. hdu 1258 Sum It Up(dfs+去重)

    题目大意: 给你一个总和(total)和一列(list)整数,共n个整数,要求用这些整数相加,使相加的结果等于total,找出所有不相同的拼凑方法. 例如,total = 4,n = 6,list = ...