向先原来就有数据的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. os 计算机的启动

    零.boot的含义 先问一个问题,”启动”用英语怎么说? 回答是boot.可是,boot原来的意思是靴子,”启动”与靴子有什么关系呢? 原来,这里的boot是bootstrap(鞋带)的缩写,它来自一 ...

  2. (转)javaScript插件开发

    jQuery插件的开发包括两种: 一种是类级别的插件开发,即给jQuery添加新的全局函数,相当于给jQuery类本身添加方法.jQuery的全局函数就是属于jQuery命名空间的函数,另一种是对象级 ...

  3. JVM加载class文件的原理

    当Java编译器编译好.class文件之后,我们需要使用JVM来运行这个class文件.那么最开始的工作就是要把字节码从磁盘输入到内存中,这个过程我们叫做[加载 ].加载完成之后,我们就可以进行一系列 ...

  4. Linux命令-dd

    dd命令用于指定大小的拷贝的文件或指定转换文件. 以下命令作用:将光驱设备拷贝成镜像文件 参数 if 输入的文件名称 参数 of 输出的文件名称 [root@localhost testA]# dd ...

  5. minhash

    minhash是一种基于jaccard index 相似度的算法.属于LSH(Location Sensitive Hash)家族中的一员. jaccard index :有两个集合A={a , b ...

  6. java 无法找到main类解决办法

    java   无法找到main类解决办法 如果Java类有包名,你必须建相应的包文件夹并把文件编译或拷贝到到相应的文件夹下: 如下: 1.源文件文件:          E:\test\src\tes ...

  7. The GPG keys listed not correct

    The GPG keys listed for the "Extra Packages for Enterprise Linux 5 - x86_64" repository ar ...

  8. 设备模型之kobject,kset及其关系

    Linux2.6以后的设备驱动,都是在设备模型的基础上构建的,因此,要编写linux下的设备驱动程序,不论是usb设备,pci设备等,都需要了解设备模型. 设备模型的基础结构体主要是kobject,k ...

  9. MTK Android 编译命令

    一.Target 编译命令 usage: (makeMtk|mk) [options] project actions [moudles] options:       -t,-tcc         ...

  10. leetcode:Reverse Linked List

    Reverse a singly linked list. 代码如下: the iterative solution:(c++) /** * Definition for singly-linked ...