【转载】JExcelApi(JXL)学习笔记

摘要:
在公司的项目中,需要生成和导出excel,所以我学会了使用JXL来读写excel,并做一个简单的注释以供参考。有两种工具可以在java中操作excel:一种是JXL,另一种是ApachePOI。JXL的具体用法在JXL中。演示包中详细列出了JXL的基本用法。这里有一个简单的记录供参考。Cf.getComment():获取单元格注释;Cf.getDataValidationList():获取单元格的数据有效性特征。Fc(立方英尺)。getFormula():获取单元格的公式。
在公司的项目中,有excel生成、导出的需求,因此学习了用JXL读写excel,做个简单的笔记,以供参考。 
    实现用java操作excel的工具,一般用的有两个:一个是JXL,另一个是apache的POI。JXL的功能不如POI强大,但是对中文的支持性好,因此在中文项目中用JXL的比较多。 
源代码介绍 
    JXL的源代码有11个包: 
【转载】JExcelApi(JXL)学习笔记第1张 
    biff是binary interchange file format(二进制转换文件格式)的缩写,在源代码中,JXL中有好几个带有biff的包,我们在日常应用中要用到的是API中介绍的四个包:jxl,jxl.demo,jxl.format,jxl.write。还有两个包:jxl.common,jxl.common.logger,这两个也是jxl内部使用的包括Assert(断言,测试一个条件并可能是程序终止)、LengthConvert(单元格等的长度转换)、Logger(写日志)等通用的功能。 
JXL具体用法 
    其实,在jxl.demo包中已经很详尽地列举了JXL的基本用法,这里做个简单的记录,以供学习参考。 
创建一个工作簿: 
    如果只是读文件而不需要写操作: 
    Workbook wb = Workbook.getWorkbook(file path); 
    可读写操作: 
     WritableWorkbook wwb = Workbook.creatWorkbook(); 
创建工作表: 
     WritableSheet sh = wwb.creatSheet("sheet name","sheet index"); 
jxl.demo.CSV:类CSV是一个简单的演示类,它使用JXL的api来展示excel 97电子表格所包含的内容,需要传入参数workbook和outputstream等。 

public class TestDemo { 
public static String path = System.getProperty("user.dir"); 

@Test 
public void testCsv() { 
try { 
File file = new File(path + "\outDoc.xls"); 
Workbook wb = Workbook.getWorkbook(file); 
OutputStream os = System.out; 
CSV csv = new CSV(wb, os, "UTF-8", true); 
} catch (Exception e) {} 



控制台输出(每个单元格的内容用","隔开): 
*** 集团 **** 
test1,test2,test3 

jxl.demo.Demo:这是主要的演示类,解释了命令行开关用于决定如何调用演示程序。 
jxl.demo.Escher/EscherDrawingGroup:如何展示图层数据的演示类。Escher:the Office Drawing Layer. 
jxl.demo.Features:输出单元格的特征。 
    (jxl.CellFeatures)cf.getComment():获取单元格的批注;  cf.getDataValidationList():获取单元格的数据有效性特征。 
   控制台输出: 
    Cell A3 contents:  类别 comment: author: 
    test,test valadation: 0.0 <= x <= 100.0; x strlen 
jxl.demo.Formulas:输出单元格的公式。 
    (jxl.FormulaCell) fc.getFormula():获取单元格的公式。 
    控制台输出: 
    Formula in C40 value:  0 formula: C1+C2 
jxl.demo.ReadWrite 
jxl.demo.Write 
jxl.demo.XML 

(1)添加的字体样式 
jxl.write.WritableFont wf = new jxl.write.WritableFont(WritableFont.TIMES, 18, WritableFont.BOLD, true); 
WritableFont()方法里参数说明: 
这个方法算是一个容器,可以放进去好多属性 
第一个:字体 ,WritableFont.TIMES 
第二个:大小,18 
第三个: 是否为粗体,WritableFont.BOLD 或WritableFont.NO_BOLD 
第四个: 判断是否为斜体,选择true时为斜体 
第五个: 样式,UnderlineStyle.NO_UNDERLINE 下划线 
第六个: 颜色,jxl.format.Colour.RED 字体颜色是红色的 
jxl.write.WritableCellFormat wcfF = new jxl.write.WritableCellFormat(wf); 
jxl.write.Label labelC = new jxl.write.Label(0, 0, "This is a Label cell",wcfF); 
ws.addCell(labelC); 
在Label()方法里面有三个参数 
第一个是代表列数, 
第二是代表行数, 
第三个代表要写入的内容 
第四个是可选项,是输入这个label里面的样式 
然后通过写sheet的方法addCell()把内容写进sheet里面。 

(2)添加带有formatting的Number对象 
//保留两位小数,如果小数位为0则不显示 
jxl.write.NumberFormat nf = new jxl.write.NumberFormat("#.##"); 
//保留两位小数,如果小数位不足两位,用0填充 
jxl.write.NumberFormat nf = new jxl.write.NumberFormat("#.00"); 

(3)添加Number对象 
(3.1)显示number对象数据的格式 
Java代码  收藏代码
  1. jxl.write.NumberFormat nf = new jxl.write.NumberFormat("#.##");   
  2. jxl.write.WritableCellFormat wcfN = new jxl.write.WritableCellFormat(nf);   
  3.   
  4. jxl.write.Number labelNF = new jxl.write.Number(113.1415926, wcfN);   
  5. ws.addCell(labelNF);   

Number()方法参数说明: 
前两上表示输入的位置 
第三个表示输入的内容 

(4)添加Boolean对象
Java代码  收藏代码
  1. jxl.write.Boolean labelB = new jxl.write.Boolean(02false);   
  2. ws.addCell(labelB);   


(5)添加DateTime对象
Java代码  收藏代码
  1. jxl.write.DateTime labelDT = new jxl.write.DateTime(03new java.util.Date());   
  2. ws.addCell(labelDT);   

DateTime()方法的参数说明 
前两个表示输入的位置 
第三个表示输入的当前时间 

(6)添加带有formatting的DateFormat对象 
这个显示当前时间的所有信息,包括年月日小时分秒
Java代码  收藏代码
  1. jxl.write.DateFormat df = new jxl.write.DateFormat("dd MM yyyy hh:mm:ss");   
  2. jxl.write.WritableCellFormat wcfDF = new jxl.write.WritableCellFormat(df);   
  3. jxl.write.DateTime labelDTF = new jxl.write.DateTime(13new java.util.Date(), wcfDF);   
  4. ws.addCell(labelDTF);   


(7)添加带有字体颜色Formatting的对象
Java代码  收藏代码
  1. jxl.write.WritableFont wfc = new jxl.write.WritableFont(WritableFont.ARIAL, 10, WritableFont.NO_BOLD, false,UnderlineStyle.NO_UNDERLINE, jxl.format.Colour.RED);   
  2. jxl.write.WritableCellFormat wcfFC = new jxl.write.WritableCellFormat(wfc);   
  3.   
  4. import jxl.format.*   
  5. jxl.write.WritableFont wfc = new jxl.write.WritableFont(WritableFont.ARIAL,20,WritableFont.BOLD,false,UnderlineStyle.NO_UNDERLINE,jxl.format.Colour.GREEN);   


(8)设置单元格样式 

Java代码  收藏代码
  1. jxl.write.WritableCellFormat wcfFC = new jxl.write.WritableCellFormat(wfc);  
  2. wcfFc.setWrap(true);//需多行显示时,设置该属性,并在内容中加入换行符" "   
  3. wcfFC.setBackGround(jxl.format.Colour.RED);//设置单元格的颜色为红色   
  4. wcfFC = new jxl.write.Label(6,0,"i love china",wcfFC);   
  5.   
  6. jxl.write.WritableFont wfc = new jxl.write.WritableFont(WritableFont.ARIAL, 10, WritableFont.NO_BOLD, false,UnderlineStyle.NO_UNDERLINE, jxl.format.Colour.RED);   
  7. jxl.write.WritableCellFormat wcfFC = new jxl.write.WritableCellFormat(wfc);   
  8.   
  9. import="jxl.format.*   
  10. jxl.write.WritableFont wfc = new jxl.write.WritableFont(WritableFont.ARIAL,20,WritableFont.BOLD,false,UnderlineStyle.NO_UNDERLINE,jxl.format.Colour.GREEN);   



 



来自为知笔记(Wiz)



免责声明:文章转载自《【转载】JExcelApi(JXL)学习笔记》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇云上RDS架构状态栏透明而实现 "沉浸式" 及兼容问题下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Java中使用poi导入、导出Excel

来自:http://blog.csdn.net/jerehedu/article/details/45195359 一、介绍    当前B/S模式已成为应用开发的主流,而在企业办公系统中,常常有客户这样子要求:你要把我们的报表直接用Excel打开(电信系统、银行系统)。或者是:我们已经习惯用Excel打印。这样在我们实际的开发中,很多时候需要实现导入、...

Office办公软件操作技巧 office快捷键大全

››››F键 F1:显示「帮助」任务窗格。 F2+shift:添加或编辑单元格批注 F3+shift:显示「插入函数」对话框 F4:重复上一个命令或操作 F5+G:显示「定位」对话框 F9+ctrl:最小化窗口 F10:打开或关闭窗口 ››››ctrl键 ctrl+1:显示「设置单元格格式」 ctrl+2:应用或取消加粗格式 ctrl+3:应用或取消倾斜格...

如何用Apache POI操作Excel文件-----如何对一个单元格加注解?

有的时候,我们需要通过操作Apache POI,在生成Cell数据的同时,能对其生成的Cell,加上注解(comments),类似于下面的。 那么对于这种情况,我们的代码应该如何写呢? 借花献佛,我就用Apache POI官方提供的例子,然后加上一些注解,给大家看一下。本例子的测试代码是基于POI-3.12的。 执行完后,将会生成上图所示的Excel工作...

C# winform DataGridView 常见属性

C# winform DataGridView 属性说明① 取得或者修改当前单元格的内容 ② 设定单元格只读 ③ 不显示最下面的新行 ④ 判断新增行 ⑤ 行的用户删除操作的自定义 ⑥ 行、列的隐藏和删除 ⑦ 禁止列或者行的Resize ⑧ 列宽和行高以及列头的高度和行头的宽度的自动调整 ⑨ 冻结列或行 ⑩ 列顺序的调整 ⑪ 行头列头的单元格⑫ 剪切板的操作...

小黑课堂office二级笔记

Word 字体考点汇总 字体、字号、加粗、倾斜 下划线、上标、下标 文字效果 字符间距 段落的常规考法对齐方式、大纲级别、缩进、段落间距、行距、对齐到文档网络、与下段同页 项目符号和编号 位制表符和字符宽度 段落排序和边框底纹设置 样式考题汇总(样式的修改、复制、赋予、样式集的设置) 利用替换批量修改和删除(Ctrl+H) 悬着与选择性粘贴...

FastReport.Net使用:[21]表格(Table)控件

对表格控件的一些常用操作  合并单元格:选择需要合并的单元格(按住Shitf多选),然后在右键菜单中选择【合并单元格】。         2.删除/插入行 鼠标移到在行头,当鼠标状态变为向右的箭头时点击鼠标选中改行,然后右键鼠标显示右键菜单,选择删除等操作。 另外,在报表树中也能进行删除等操作。 3.编辑数据: 双击需要编辑的单元格,弹出文本编辑器进...