使用JXL对Excel表格进行简单的操作

  前段时间由于项目的需求,要求使用JXL,做完之后做下记录,方便以后查看!

  首先我们要先下载JXL的JAR包:http://download.csdn.net/detail/u013352832/7777047

  将JXL.JAR 包导入到项目中即可直接只用!

  直接上代码

  使用JXL来操作Excel表格,我们应该首先判断一下Excel表格是否存在

  

1 File file = new File(user.getZkfp());
2 // 判断zkfp.xls文件是否存在,不存在则创建zkfp.xls文件,存在则进行修改
3 if (!file.exists() && !file.isDirectory()) {
4     //Excel表格不存在
5 } else {
6     //Excel表格已存在
7 }

  使用JXL创建Excel表格:

  

 1 package  test;
 2
 3  // 生成Excel的类
 4  import  java.io.File;
 5
 6  import  jxl.Workbook;
 7  import  jxl.write.Label;
 8  import  jxl.write.WritableSheet;
 9  import  jxl.write.WritableWorkbook;
10
11  public   class  CreateExcel  {
12       public   static   void  main(String args[])  {
13           try   {
14               //  打开文件
15              WritableWorkbook book  =  Workbook.createWorkbook( new  File( " test.xls " ));
16               //  生成名为“第一页”的工作表,参数0表示这是第一页
17              WritableSheet sheet  =  book.createSheet( " 第一页 " ,  0 );
18               //  在Label对象的构造子中指名单元格位置是第一列第一行(0,0)
19               //  以及单元格内容为test
20              Label label  =   new  Label( 0 ,  0 ,  " test " );
21
22               //  将定义好的单元格添加到工作表中
23              sheet.addCell(label);
24
25               /*
26               * 生成一个保存数字的单元格 必须使用Number的完整包路径,否则有语法歧义 单元格位置是第二列,第一行,值为789.123
27                */
28              jxl.write.Number number  =   new  jxl.write.Number( 1 ,  0 ,  555.12541 );
29              sheet.addCell(number);
30
31               //  写入数据并关闭文件
32              book.write();
33              book.close();
34
35          }   catch  (Exception e)  {
36              System.out.println(e);
37          }
38      }
39  } 

如果想修改Excel表格的话,可以直接使用以上代码进行修改,先打开Excel表格,在获取工作表,就可以进行设置进行修改了。

在开发中有时候我们还需要读取Excel表格获取数据,代码如下:

 1 package  test;
 2
 3  // 读取Excel的类
 4  import  java.io.File;
 5
 6  import  jxl.Cell;
 7  import  jxl.Sheet;
 8  import  jxl.Workbook;
 9
10  public   class  ReadExcel  {
11       public   static   void  main(String args[])  {
12           try {
13              Workbook book  =  Workbook.getWorkbook( new  File( " test.xls " ));
14               //  获得第一个工作表对象
15              Sheet sheet  =  book.getSheet( 0 );
16               //  得到第一列第一行的单元格
17              Cell cell1  =  sheet.getCell( 0 ,  0 );
18              String result  =  cell1.getContents();
19              System.out.println(result);
20              book.close();
21          }   catch  (Exception e)  {
22              System.out.println(e);
23          }
24      }
25  } 

在实际开发中,我们还可能面临对已经有数据的Excel表格进行添加数据、添加工作表等操作,在添加数据时我们需要将数据添加到最后一行,而数据总共有多少行是我们需要获取到的,代码如下:

 1      /**
 2      * 添加数据
 3      * @param numberno
 4      * @param route 路径
 5      * @param name
 6      */
 7     public void savwUser(String numberno, String route, String name) {
 8         try {
 9             // 打开文件
10             Workbook book = Workbook.getWorkbook(new File(route));
11             // 获得第一个工作表对象
12             Sheet sheet1 = book.getSheet(0);
13             // 获得第一个工作表对象
14             Sheet sheet2 = book.getSheet(1);
15             // 获取行
16             int length1 = sheet1.getRows();
17             int length2 = sheet2.getRows();
18
19             // 根据book创建一个操作对象
20             WritableWorkbook wbook = Workbook.createWorkbook(new File(route),
21                     book);
22             // 得到一个工作对象
23             WritableSheet sh1 = wbook.getSheet(0);
24             WritableSheet sh2 = wbook.getSheet(1);
25
26             // 创建用户表数据
27             jxl.write.Number user11 = new jxl.write.Number(0, length1, length1-1);
28             Label user12 = new Label(1, length1 + 1, numberno);
29             Label user13 = new Label(2, length1 + 1, route);
30             Label user14 = new Label(3, length1 + 1, name);
31             // 将用户表数据添加到用户表上
32             sh1.addCell(user11);
33             sh1.addCell(user12);
34             sh1.addCell(user13);
35             sh1.addCell(user14);
36
37             // 创建时间表数据
38             jxl.write.Number label0 = new jxl.write.Number(0, length2,
39                     length2 - 1);
40             Label label = new Label(1, length2, numberno);
41             Label createDate = new Label(2, length2, df.format(new Date()));
42             // 将时间表数据添加到时间表上
43             sh2.addCell(label0);
44             sh2.addCell(label);
45             sh2.addCell(createDate);
46
47             wbook.write();
48             wbook.close();
49
50         } catch (Exception e) {
51             System.out.println(e);
52         }
53     }    

在使用JXL操作Excel表格时需要注意的是:我们在添加数据的时候数据要求最好入座,所以行和列要特别注意,在创建和获取工作表时是从下表0开始的!

插入时间数据时需要特别注意,我刚开始是直接new Date()获取时间插入数据,获取进行测试的时候,时间偏差很严重,后来就将时间格式化为字符串插入进去就解决了这一问题

格式化时间:

1 // 设置日期格式 2 SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 3 df.format(new Date())

使用JXL对Excel表格进行简单的操作

时间: 2024-10-24 02:44:28

使用JXL对Excel表格进行简单的操作的相关文章

java中使用jxl导出Excel表格详细通用步骤

该方法一般接收两个参数,response和要导出的表格内容的list. 一般我们将数据库的数据查询出来在页面进行展示,根据用户需求,可能需要对页面数据进行导出. 此时只要将展示之前查询所得的数据放入session中备份一份,在调用导出方法时,从session中获取即可, 如果为后台直接导出,直接查询数据库后将结果传入即可,当然也可以在导出Excel方法中查询. 查询方法: // 获取查询结果存入session中        Object resultList = request.getAttr

java输出mysql到excel表格的简单用法

1>导入包 jxl.jar下载地址:https://pan.baidu.com/s/10ijORF5sNdmZv3SyN8ImaQ密码:ue50 mysql的对应jar:https://pan.baidu.com/s/1ZiB3kPewCdMK_WatNjUtiA密码:7afv 源码: 新建类 public class excelTest { int id; String name; String num; public String getNum() { return num; } publi

Java使用jxl对excel文件进行简单的读写

jxl的Jar包下载地址:百度网盘 import java.io.File; import java.io.IOException; import jxl.Sheet; import jxl.Workbook; import jxl.read.biff.BiffException; import jxl.write.Label; import jxl.write.WritableCellFeatures; import jxl.write.WritableSheet; import jxl.wr

JXL读写Excel表格数据

工作中常常需要将查询或者计算的结果导出到excel中,方便统计和查看,或者从excel中读取内容.除了原来使用的poi,还有一种轻量高效的方法就是使用jxl,下面看看jxl的使用. 导入依赖: <!-- https://mvnrepository.com/artifact/jexcelapi/jxl --> <dependency> <groupId>jexcelapi</groupId> <artifactId>jxl</artifact

POI 操作 excel表格 (简单整理)

简单的整理: import org.apache.poi.ss.usermodel.*; import org.apache.poi.ss.util.CellRangeAddress; import org.apache.poi.xssf.streaming.SXSSFCell; import org.apache.poi.xssf.streaming.SXSSFRow; import org.apache.poi.xssf.streaming.SXSSFSheet; import org.ap

mysql 表结构转excel表格

最近需要写文档,由于开发模式是先开发后写文档(不想吐槽...),数据库表结构什么的都搞好了,然后写文档的时候需要贴表结构,什么字段,类型,相关说明需要一一对应起来,数据库表10多张,字段又多,手动复制粘贴太蛋疼了,于是就写了个将表结构转excel表格的简单实现(丑是丑了点,毕竟实现功能了不是). package net.cloudkit.management.util; import org.apache.poi.openxml4j.opc.OPCPackage; import org.apac

如何在CAD图纸中插入一个Excel表格?

大家都知道在CAD设计建筑行业经常要使用到CAD绘图技巧,在日常的工作中,我们经常使用CAD编辑器软件对CAD图纸进行一些编辑,但是如果我们想要在CAD图纸中插入一个Excel表格应该具体怎么操作呢?又如何在CAD图纸中插入一个Excel表格?所以本篇教程就教教大家怎么使用迅捷CAD编辑器在CAD图纸中插入一个Excel表格,希望可以帮助到你们. 第一步:首先打开电脑,在电脑桌面上任意的打开一个浏览器,在浏览器的搜索框中搜索迅捷CAD编辑器,点击下载安装最新版本的CAD编辑器. 第二步:双击打开

使用jxl和poj处理Excel表格

这东西有什么用呢,作为一枚程序员,Excel对于我来说是没什么用的,但是想想,如果公司人力的妹纸每个月底都要一个一个的去核对一个同事有没有迟到,那是有多蛋疼的事,所以,将打卡的数据导入到Excel,然后遍历一下,什么麻烦事都没有了.然后人力妹纸就不用每次月底蛋疼地核对数据,哈哈,程序员太伟大了,而且事后还能被对方请吃饭,这也是当初论坛里为什么有一个人为公司写了一个方便大家的东西而满满的幸福感. Java将数据处理导出到Excel的有方法有使用jxl和poi.本来靠着一手资料写了半篇博客,误入了一

使用jxl操作之一: 实现对Excel简单读写操作

项目目录树 对象类UserObject UserObject.java package com.dlab.jxl; public class UserObject { private String userName; private String age; private String address; public String getUserName() { return userName; } public void setUserName(String userName) { this.