Java 使用 Jxl 制作Excel表格并 导入 旧表 导出到 新表

学习笔记,感觉不错分享一下

先导入依赖

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

如果是用maven导入依赖就用以下代码(写在pom.xml文件<dependencies>里面)

//jxl 2.6.12
<dependency>
    <groupId>net.sourceforge.jexcelapi</groupId>
    <artifactId>jxl</artifactId>
    <version>2.6.12</version>
</dependency>

用jxl依赖创建Excel

try {
    // 打开文件,目录里的Excel表格
    WritableWorkbook book = Workbook.createWorkbook(new File("D:/test.xls"));
    // 生成名为“sheet1”的工作表,参数0为第一页
    WritableSheet sheet = book.createSheet("sheet1", 0);

    // 生成一个保存字符串的单元格
    Label label = new Label(0, 0, "字符串");
    // 将定义好的单元格添加到工作表中
    sheet.addCell(label);

    // 生成一个保存数字的单元格
    Number number = new Number(1, 0, 12345);
    sheet.addCell(number);

    // 生成一个保存日期的单元格
    DateTime dtime = new DateTime(2, 0, new Date());
    sheet.addCell(dtime);


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

 这一段是将Excel表格的内容提取出来作为字符串输出了

try {

            Workbook book = Workbook.getWorkbook(new File("D:\\test.xls"));
            Sheet sheet = book.getSheet(0);

            for (int x=0;x<100;x++) {
                for (int y=0;y<100;y++) {
                    try {
                        Cell cell = sheet.getCell(x, y);
                        String str = cell.getContents();
                        System.out.print(str);
                    }catch ( ArrayIndexOutOfBoundsException e){
                        continue;
                    }
                }
            }
            book.close();
        } catch (Exception e) {
        System.out.println(e);

最终合并,将旧表"test"把所有的内容都转换为 字符串 导入到新表"test01"中 

try {
            WritableWorkbook book01 = Workbook.createWorkbook(new File("D:/test01.xls"));
            WritableSheet sheet01 = book01.createSheet("sheet1", 0);

            Workbook book = Workbook.getWorkbook(new File("D:/test.xls"));
            Sheet sheet = book.getSheet(0);

            for (int x = 0; x < 1000; x++) {
                for (int y = 0; y < 1000; y++) {
                    try {
                        Cell cell = sheet.getCell(x, y);
                        String str = cell.getContents();
                        Label label = new Label(x, y, str);
                        sheet01.addCell(label);
                        System.out.println(str);
                    } catch (ArrayIndexOutOfBoundsException e) {
                        continue;
                    }
                }
            }

            System.out.println("------已完成------");

            book01.write();
            book.close();
            book01.close();
        } catch (Exception e) {
            System.out.println(e);
        }

我只是一个新人,如果有用poi或者有更好的见解请大家积极提出,谢谢

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值