JXL操作详细讲解

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 16:28   679   0

JXL是什么

JXL是一个通过java操作excel表格的工具类库,支持Excel95-2000的所有版本。在功能上相比POI而言,jxl会弱一点,但其API对中文的支持非常好,而且该工具是纯Java开发,并不依赖任何操作系统。

Jxl主要提供的功能:

1、支持文字、数字、日期和图片操作,需要说明的是,该API对图形和表格的支持有限,而且仅仅识别PNG格式;

2、支持修改单元格属性;

3、支持图像和图表。

在进行下面的讲解之前,我们需要统一下以下观点:

Workbook:无论是对excel文件进行读操作还是写操作,都必须先获得一个workbook,一个workbook对应一个excel文件,例如在进行写操作时,创建一个WritableWorkbook;

WritableWorkbook book  =  Workbook.createWorkbook( new  File( " test.xls " ));

Sheet:一个excel表格中的一页,在一个workbook中包含一个或多个sheet;

Cell:excel表格中的单元格,一个Sheet中包含一个或多个Cell。

JXL操作基本步骤

1、获得一个Workbook对象book;

2、获得book中的一页sheet;

3、对sheet中的单元格进行读写等操作;

4、关闭book。

JXL写操作

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

public class CreateExcel {
    public static void main(String args[]) {
        try {
            // 第一步:创建一个workbook
            WritableWorkbook book = Workbook.createWorkbook(new File("test.xls"));
            // 第二步:生成名为“第一页”的工作表,参数0表示这是第一页
            WritableSheet sheet = book.createSheet("第一页", 0);
            /*
             * 第三步:操作Excel
             * 这里添加一个字符串,Label的构造函数为:Label(int c, int r, String cont)
             * 表示在第一行第一列的单元格中添加字符串"test"
             */
            Label label = new Label(0, 0, "test");
            // 将定义好的单元格添加到工作表中
            sheet.addCell(label);

            /*
             * 添加一个数字,Number的构造函数为:Number(int c, int r, double val)
             * 表示在第二列,第一行添加数值为555.12541的单元格
             */
            jxl.write.Number number = new jxl.write.Number(1, 0, 555.12541);
            // 将定义好的单元格添加到工作表中
            sheet.addCell(number);

            // 写入数据并关闭文件
            book.write();
            book.close();
        } catch (Exception e) {
            System.out.println(e);
        }
    }
}

JXL读操作

import java.io.File;
import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;

public class ReadExcel {
    public static void main(String args[]) {
        try {
         // 第一步:获得一个Workbook
            Workbook book = Workbook.getWorkbook(new File("test.xls"));
            // 第二步:获得第一个工作表对象sheet
            Sheet sheet = book.getSheet(0);
            // 第三步:得到第一列第一行的单元格,并将里面的字符串打印出来
            Cell cell1 = sheet.getCell(0, 0);
            String result = cell1.getContents();
            System.out.println(result);
            //第四步:关闭book
            book.close();
        } catch (Exception e) {
            System.out.println(e);
        }
    }
}

JXL更改操作

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

public class UpdateExcel {
 public static void main(String args[]) {
  try {
            // 第一步: Excel获得文件 
            Workbook wb  =  Workbook.getWorkbook( new  File( " test.xls " ));
            // 打开一个文件的副本,并且指定数据写回到原文件 
            WritableWorkbook book = Workbook.createWorkbook(new File("test.xls"), wb);
            // 第二步:添加一个工作表 
            WritableSheet sheet = book.createSheet("第二页", 1);
            // 第三步:添加一个sheet
            sheet.addCell(new Label(0, 0, "第二页的测试数据"));
            // 第四步:// 写入数据并关闭文件
            book.write();
            book.close();
  } catch (Exception e) {
   System.out.println(e);
  } 
   } 
}




分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP