欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

jxl操作excel写入数据不覆盖原有数据示例

程序员文章站 2024-02-24 18:37:52
需要导入的包:jxl.jar 复制代码 代码如下:public void readto() {      &n...

需要导入的包:jxl.jar

复制代码 代码如下:

public void readto() {
        workbook wb = null;
        writableworkbook wwb = null;
        try {
            file is = new file(system.getproperty("user.dir") + "\\in.xls");
            file os = new file(system.getproperty("user.dir") + "\\out.xls");
            if (!os.isfile())// 如果指定文件不存在,则新建该文件
                os.createnewfile();

            wb = workbook.getworkbook(is);// 获取数据源in.xls工作簿对象
            wwb = workbook.createworkbook(os, wb);// 在原有工作簿out.xls上追加数据
            // wwb = workbook.createworkbook(os);//区别于上一行代码,创建一个新的写入工作簿
            if (wb != null && wwb != null) {

                writablesheet sheet = wwb.getsheet(0);// 获取out.xls第一个sheet
                writablecell cell = sheet.getwritablecell(2, 4);// 获取out.xls要写入数据的单元格

                sheet[] sheets = wb.getsheets();// 获取数据源in.xls的sheets
                cell[] cells = sheets[0].getrow(1);// 获取in.xls第一个sheet的第二行
                if (cell.gettype() == celltype.label) {
                    label l = (label) cell;
                    l.setstring(cells[1].getcontents());// 将第二个单元格写入out.xls的第三列第五行
                }
                wwb.write();
                system.out.println("工作簿写入数据成功!");
            }
            wwb.close();// 关闭
        } catch (exception e) {
            e.printstacktrace();
        } finally {
            wb.close();
        }
    }