jxl学习手册

上传人:xzh****18 文档编号:34609613 上传时间:2018-02-26 格式:DOC 页数:12 大小:85.50KB
返回 下载 相关 举报
jxl学习手册_第1页
第1页 / 共12页
jxl学习手册_第2页
第2页 / 共12页
jxl学习手册_第3页
第3页 / 共12页
jxl学习手册_第4页
第4页 / 共12页
jxl学习手册_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《jxl学习手册》由会员分享,可在线阅读,更多相关《jxl学习手册(12页珍藏版)》请在金锄头文库上搜索。

1、Jxl.jar 学习通过 java 操作 excel 表格的工具类库支持 Excel 95-2000 的所有版本生成 Excel 2000 标准格式支持字体、数字、日期操作能够修饰单元格属性支持图像和图表应该说以上功能已经能够大致满足我们的需要。最关键的是这套 API 是纯 Java 的,并不依赖 Windows 系统,即使运行在 Linux 下,它同样能够正确的处理 Excel 文件。 另外需要说明的是,这套 API 对图形和图表的支持很有限,而且仅仅识别 PNG 格式。搭建环境:将下载后的文件解包,得到 JXL.JAR,放入 classpath,安装就完成了。如果包不能正常的加载,可以把你

2、下载好的 JXL.JAR 包放入 D:JAVAjrelibext 中(我的是 JDK1.6)就 OK了。我相信在配置 TOMCAT 时也需要把相关的三个包放到这里面。基本操作:一、创建文件拟生成一个名为“测试数据.xls”的 Excel 文件,其中第一个工作表被命名为“ 第一页”,大致效果如下:代码(CreateXLS.java):/生成 Excel 的类import java.io.*;import jxl.*;import jxl.write.*;public class CreateXLS public static void main(String args) try / 打开文件Wr

3、itableWorkbook book = Workbook.createWorkbook(new File(d:/测试.xls);/ 生成名为“第一页”的工作表,参数0 表示这是第一页WritableSheet sheet = book.createSheet(第一页, 0);/ 在Label 对象的构造子中指名单元格位置是第一列第一行(0,0)/ 以及单元格内容 为testLabel label = new Label(0, 0, test);/ 将定义好的 单元格添加到工作表中sheet.addCell(label);/* 生成一个保存数字的 单元格* * 必须使用Number 的完整包

4、路径,否则有 语法歧义* * 单元格位置是第二列,第一行, 值为789.123*/jxl.write.Number number = new jxl.write.Number(1, 0, 789.123);sheet.addCell(number);/ 写入数据并关 闭文件book.write();book.close(); catch (Exception e) System.out.println(e.toString();编译执行后,会在当前位置产生一个 Excel 文件。二、读取文件以刚才我们创建的 Excel 文件为例,做一个简单的读取操作,程序代码如下:/读取 Excel 的类im

5、port java.io.*;import jxl.*;public class ReadXLSDemo public static void main(String args) try Workbook book = Workbook.getWorkbook(new File(d:/测试.xls);/ 获得第一个工作表 对象Sheet sheet = book.getSheet(0);/ 得到第一列第一行的 单元格Cell cell1 = sheet.getCell(0, 0);String result = cell1.getContents();System.out.println(re

6、sult);/ Number以String获得Cell cell2 = sheet.getCell(1,0);result = cell2.getContents();System.out.println(result);book.close(); catch (Exception e) System.out.println(e);程序执行结果:test三、修改文件利用 jExcelAPI 可以修改已有的 Excel 文件,修改 Excel 文件的时候,除了打开文件的方式不同之外,其他操作和创建 Excel 是一样的。下面的例子是在我们已经生成的 Excel文件中添加一个工作表:/修改 Exc

7、el 的类,添加一个工作表import java.io.*;import jxl.*;import jxl.write.*;public class UpdateXLSDemo public static void main(String args) try / Excel获得文件Workbook wb = Workbook.getWorkbook(new File(d:/测试.xls);/ 打开一个文件的副本,并且指定数据写回到原文件WritableWorkbook book = Workbook.createWorkbook(new File(d:/测试.xls), wb);/ 添加一个工

8、作表WritableSheet sheet = book.createSheet(第二页, 1);sheet.addCell(new Label(0, 0, 第二页的测试数据);book.write();book.close(); catch (Exception e) System.out.println(e);修改原有内容,直接重新创建一遍即可。高级操作:一、 数据格式化在 Excel 中不涉及复杂的数据类型,能够比较好的处理字符串、数字和日期已经能够满足一般的应用。1、字串格式化字符串的格式化涉及到的是字体、粗细、字号等元素,这些功能主要由 WritableFont和 WritableC

9、ellFormat 类来负责。假设我们在生成一个含有字串的单元格时,使用如下语句,为方便叙述,我们为每一行命令加了编号:WritableFont font1= new WritableFont(WritableFont.TIMES,16,WritableFont.BOLD); 或设置字体格式为 excel 支持的格式 WritableFont font3=new WritableFont(WritableFont.createFont(楷体 _GB2312),12,WritableFont.NO_BOLD ); WritableCellFormat format1=new WritableCe

10、llFormat(font1); Label label=new Label(0,0,”data 4 test”,format1); 其中指定了字串格式:字体为 TIMES,字号 16,加粗显示。WritableFont 有非常丰富的构造子,供不同情况下使用,jExcelAPI 的 java-doc 中有详细列表,这里不再列出。处代码使用了 WritableCellFormat 类,这个类非常重要,通过它可以指定单元格的各种属性,后面的单元格格式化中会有更多描述。 处使用了 Label 类的构造子,指定了字串被赋予那种格式。在 WritableCellFormat 类中,还有一个很重要的方法是

11、指定数据的对齐方式,比如针对我们上面的实例,可以指定:/把水平对齐方式指定为居中format1.setAlignment(jxl.format.Alignment.CENTRE);/把垂直对齐方式指定为居中format1.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);/设置自动换行format1.setWrap(true);-public class WritablelFormatDemo public static void main(String args) try / 创建一个xlsWritableWorkbook b

12、ook = Workbook.createWorkbook(new File(d:/shadow.xls);/ 工作表WritableSheet sheet = book.createSheet(first, 0);/ 字体格式1WritableFont font1 = new WritableFont(WritableFont.ARIAL, 16,WritableFont.BOLD);/ 字体格式2WritableFont font2 = new WritableFont(WritableFont.ARIAL, 16,WritableFont.NO_BOLD);/ 格式化单元格Writabl

13、eCellFormat format1 = new WritableCellFormat(font1);WritableCellFormat format2 = new WritableCellFormat(font2);/ 把水平对齐 方式指定为居中format1.setAlignment(jxl.format.Alignment.CENTRE);/ 把垂直对齐 方式指定为居中format1.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);/ 设置自动换 行format1.setWrap(true);/ 单元格内容Label

14、 label = new Label(0, 0, 姓名, format1);Label labe2 = new Label(1, 0, 年龄, format1);Label labe3 = new Label(2, 0, 性别, format1);/ 将定义好的 单元格添加到工作表中sheet.addCell(label);sheet.addCell(labe2);sheet.addCell(labe3);/ 构造数据List list = new ArrayList();Map map1 = new HashMap();map1.put(name, 哇哈哈);map1.put(age, 23

15、);map1.put(sex, 男);list.add(map1);Map map2 = new HashMap();map2.put(name, 禽兽);map2.put(age, 99);map2.put(sex, 女);list.add(map2);Iterator it = list.iterator();int row = 1;/ 控制写入的行while (it.hasNext() Map m = new HashMap();m = (Map) it.next();Iterator keyValuePairs1 = m.entrySet().iterator();for (int i = 0; i Workbook-Sheet-Cell,就得到了 excel 文件中的单元格代码:String path=c:excel.xls;/Excel 文件 URLInputStream is = new FileInputStream(path);/写入到 FileInputStreamjxl.Workbook wb = Workbook.getWorkbook(is); /得到工作薄jxl.Sheet

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 理论文章

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号