向先原来就有数据的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. RabbitMQ安装与搭建

    1.下载Erlang,最新版本是erl8.1 ,地址:http://erlang.org/download/otp_win64_19.1.exe 网上很多资料说安装后要配置环境变量,不过我安装最新的版 ...

  2. ARM菜鸟:JLINK与JTAG的区别

    调试ARM,要遵循ARM的调试接口协议,JTAG就是其中的一种.当仿真时,IAR.KEIL.ADS等都有一个公共的调试接口,RDI就是其中的一种,那么我们如何完成RDI-->ARM调试协议(JT ...

  3. 浅析c语言中的变量(局部变量,外部变量,静态变量,寄存器变量)[转]

    c语言中变量分为四类,分别是 1.auto   自动变量 2.static   静态存贮分配变量(又分为内部静态和外部静态) 3.extern  全程变量(用于外部变量说明) 4.register   ...

  4. [iOS]集成环信SDK然后运行时候crash了-[NSBundle initWithURL:]: nil URL argument'

    Crash的reason是-[NSBundle initWithURL:]: nil URL argument' 1.首先我是用cocoapods导入的环信的SDK.然后怎么运行怎么crash. 2. ...

  5. Two Sigma OA

    刚做了两道Two Sigma OA. 还是两道老题, Friend Cycle和Longest Chain. Friend Cycle可以用Union Find来做.优化的时候因为矩阵是沿对角线对称, ...

  6. Myeclipse 自定义代码自动格式化(ctrl+alt+F)

    打开如图界面:preference->java->code style->formatter下的edit... 如设设置java代码多长换行:

  7. [IT] 关闭笔记本的蜂鸣提示

    很久没有写什么了,今天开过workshop, 稍微放松些, 一时动念上来看看,没想到最近一篇都是2010年的了, 不得不感叹时光流逝之快啊. 那就写点什么吧. 现在每天工作用的DELL笔记本,性能差强 ...

  8. ubuntu下启动和关闭tomcat的简单方法

    在ubuntu下面,我们安装tomcat可以有两种方式[1]用aptitude安装aptitude install tomcat6 [2]免安装版从apache tomcat 网站下载apache-t ...

  9. Python 中 os.path模板

    os.path.abspath(path) #返回绝对路径 os.path.basename(path) #返回文件名 os.path.commonprefix(list) #返回list(多个路径) ...

  10. fix org.openqa.selenium.NoSuchWindowException when find element on windows8.1 ie11.

    Steps:1.I was able to resolve the issue after adding the site URL under trusted sites of IE. The sam ...