向先原来就有数据的Excel写数据是不会覆盖原有的数据,只是在追加数据。
public class Excel {
    public Excel() {
    }
    public void CreateWorkbook(File file, double[] a) {
        try {
            if (!file.exists()) { //判断文件是否已存在,如果没有存在则创建新文件
                jxl.write.WritableWorkbook wwb = Workbook.createWorkbook(new
                        File("result.xls"
                        ));
                jxl.write.WritableSheet ws = wwb.createSheet("Test Sheet 1", 0);
                int i = 0;
                ws.setColumnView(0, 20); //设置列宽
                jxl.write.NumberFormat nf = new jxl.write.NumberFormat(
                        "0.0000000000000000"); //定义数值格式
                WritableCellFormat wcfN = new WritableCellFormat(nf);
                String str2 = "第" + 1 + "次试验";
                Label label = new Label(0, 0, str2);
                ws.addCell(label);
                while (i < a.length) {
                    jxl.write.Number num = new jxl.write.Number(0, i + 1,
                            a[i], wcfN);
                    ws.addCell(num);
                    i++;
                }
                //写入Exel工作表
                wwb.write();
                //关闭Excel工作薄对象
                wwb.close();
            } else {
                Workbook rwb = Workbook.getWorkbook(file);
                File tempfile = new File(System.getProperty("user.dir") +
                                         "\\tempfile.xls");
                WritableWorkbook wwb = Workbook.createWorkbook(tempfile, rwb);
                WritableSheet ws = wwb.getSheet(0);
                int num = rwb.getSheet(0).getColumns();
                int num1 = num + 1;
                ws.setColumnView(num, 20); //设置列宽
                String str2 = "第" + num1 + "次试验"; //添加列名
                Label label = new Label(num, 0, str2);
                ws.addCell(label);
                int i = 0;
                jxl.write.NumberFormat nf = new jxl.write.NumberFormat(
                        "0.000000000000000"); //定义数值格式
                WritableCellFormat wcfN = new WritableCellFormat(nf);
                while (i < a.length) {
                    jxl.write.Number number = new jxl.write.Number(num,
                            i + 1,
                            a[i], wcfN);
                    ws.addCell(number);
                    i++;
                }
                wwb.write();
                wwb.close();
                rwb.close();
                String filename = file.getPath();
                System.out.println("filename:" + filename);
                file.delete();
                tempfile.renameTo(file);
                System.out.println("tempfile:" + tempfile.getPath());
                System.out.println(tempfile.exists());
                System.out.println(file.exists());
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

java jxl 向Excel中追加数据而不覆盖原来数据的例子的更多相关文章

  1. java jxl读取excel中Date类型

    Workbook book = Workbook.getWorkbook(excel); Sheet sheet = book.getSheet(0); int clos = sheet.getCol ...

  2. java中使用jxl读取excel中的数据

    package bboss; import java.io.File; import java.io.FileInputStream; import java.io.IOException; impo ...

  3. NOPI读取模板导出(Excel中追加数据)

    在Controller里,我们定义一个FileResult的Action,返回值是一个文件形式被浏览器下载下来. [HttpGet] public FileResult ExportProductLi ...

  4. java程序向hdfs中追加数据,异常以及解决方案

    今天在学习hdfs时,遇到问题,就是在向hdfs中追加数据总是报错,在经过好几个小时的努力之下终于将他搞定 解决方案如下:在hadoop的hdfs-sit.xml中添加一下三项 <propert ...

  5. 借助jxl将Excel中的数据注入到Bean中

    前言 使用了Hibernate的项目中需要导入多张表的数据,但是我又不想写多次取出Excle数据放到Bean里的代码,于是写了个ExcleUtils来帮助我做这件事. 基本思路 技术上,首先肯定是要借 ...

  6. JAVA抠取Excel中的图片

    EXCEL中扔了一堆的图片,老大让对应到数据库中的数据上.思路先把图片抠出存成单个图片.然后上传到服务器,取下路径更新到数据库中. 注释掉的部分为有多个Excel时使用. package com.** ...

  7. jxl导出Excel中需要跳过的的坑

    正如上篇文章(JXL封装不能使用static关键字问题)所说,在jxl导出Excel时候如果频繁使用到WritableCellFormat去设置单元格的样式,这个时候经常会出现两种情况: 1.报警告: ...

  8. JAVA导入(读取)Excel中的数据(支持xls与xlsx文件)

    一.导入jar包 poi-3.7.jarpoi-scratchpad-3.7.jarpoi-examples-3.7.jarpoi-ooxml-3.7.jarpoi-ooxml-schemas-3.7 ...

  9. Java jxl导入excel文件,导入的数字、身份证号码、手机号变成了科学计数法,解决方案

    原文出自:https://blog.csdn.net/seesun2012 这是一个execl文件导入数据库操作,使用jxl解析execl导入数据库过程出现了科学计数法,与想要导入的数据不匹配,以下是 ...

随机推荐

  1. inno setup判断是Windows系统版本(其实还是Delphi代码,还能检查域控制器和家庭版)

    1.设置Windows最低版本要求 [Setup]: MinVersion 格式: a.bb,c.dd,这里 a.bb 是 Windows 版本,c.dd 是 Windows NT 版本. 默认值: ...

  2. Eclipse配置Flex开发环境(转)

    Eclipse配置Flex开发环境 开发环境:Eclipse3.2.Flex Builder31.下载安装Flex Builder3,下载地址:http://subject.csdn.net/adob ...

  3. 如何在oracle中导入dmp数据库文件

    Oracle数据导入导出imp/exp就相当于oracle数据还原与备份.exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中. 利 ...

  4. SpringMVC 中的Interceptor 拦截器

    1.配置拦截器 在springMVC.xml配置文件增加: <mvc:interceptors>  <!-- 日志拦截器 -->  <mvc:interceptor> ...

  5. springboot源码解析 - 构建SpringApplication

    1 package com.microservice.framework; 2 3 import org.springframework.boot.SpringApplication; 4 impor ...

  6. Iterator的remove方法可保证从源集合中安全地删除对象(转)

    如果对正在被迭代的集合进行结构上的改变(即对该集合使用add.remove或clear方法),那么迭代器就不再合法(并且在其后使用该迭代器将会有ConcurrentModificationExcept ...

  7. GLSL基础

    GLSL基础 OpenGL Shading Language GLSL作为一种着色语言是纯粹的和GPU打交道的计算机语言.因为GPU是多线程并行处理器,所以GLSL直接面向SIMD模型的多线程计算.G ...

  8. nginx添加nginx_mod_h264_streaming-2.2.7模块编译报错

    报错ngx_http_streaming_module.c:158: 错误:‘ngx_http_request_t’ 没有名为 ‘zero_in_uri’ 的成员.这需要修改nginx_mod_h26 ...

  9. Using Git subtrees to split a repository

    https://lostechies.com/johnteague/2014/04/04/using-git-subtrees-to-split-a-repository/ We are in a p ...

  10. umount移动硬盘遇到device is busy问题

    #umount  /mnt/fourtumount: /mnt/fourt: device is busy.        (In some cases useful info about proce ...