java jxl 向Excel中追加数据而不覆盖原来数据的例子

向先原来就有数据的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();

}

}

}

时间: 2024-08-02 05:49:57

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

JAVA抠取Excel中的图片

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

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

正如上篇文章(JXL封装不能使用static关键字问题)所说,在jxl导出Excel时候如果频繁使用到WritableCellFormat去设置单元格的样式,这个时候经常会出现两种情况: 1.报警告:Warning:  Maximum number of format records exceeded.  Using default format.虽然说程序员一般不看警告,but这个警告讨厌了,他会把你超过限制的格式恢复成默认格式.所以必须解决. 2.报异常:java.lang.ArrayInd

向Excel中追加数据

读取Excel模版插入数据并生成一个新的文件保存 本文中接受03的excel操作(跟07一样不过 其中的  HSSF  换成 XSSF) FileInputStream fileInputStream = new FileInputStream(templeExcelPath); HSSFWorkbook xssfWorkbook = new HSSFWorkbook(fileInputStream); HSSFSheet xssfSheet = xssfWorkbook.getSheetAt(

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

原文出自:https://blog.csdn.net/seesun2012 这是一个execl文件导入数据库操作,使用jxl解析execl导入数据库过程出现了科学计数法,与想要导入的数据不匹配,以下是案例以及解决方案: 导入成功后示例: 1.手机号:15388886666 科学计数法:1.54E+10 2.数字:123456789000000 科学计数法:1.23E+14 3.身份证:432222198808083789 科学计数法:4.32E+17 解决思路: 1.判断是否为数字类型(NUMB

Java——jxl读取Excel文件

1.创建文件流,打开EXCEL文件(jxi不支持.xlsx文件,支持.xls) FileInputStream excelFile = new FileInputStream(excelPath); Workbook workbook = Workbook.getWorkbook(excelFile); 2.切换到对应文件名 Sheet excelSheet = workbook.getSheet(sheetName); 3.获取实际行数和列数 int rows = excelSheet.get

winform 向excel中追加sheet

/// <summary> /// 通过DataTable向一个现有的excel表中增加一个sheet /// </summary> /// <param name="dt">带有数据集的DataTable</param> /// <param name="toFileName">现有excel的路径以及名称</param> /// <param name="strSheetNa

Java 随机取出数组中n条不重复的数据

public static void main(String[] args) { List<String> list = new ArrayList<String>(); list.add("日本"); list.add("中国"); list.add("美国"); list.add("德国"); //把随机取得的数据存储在 listRandom 中 List<String> listRan

JAVA POI读取Excel中Cell为null的处理

空数据:没有任何编辑过的单元格(非空格) 有时候我们需要对根据每一列的信息进行处理,这里就会出现易错的缺陷. 1.不需要这些空数据 row = sheet.getRow(i); for (Cell c : row) { //处理 } 2.需要这些空数据 row = sheet.getRow(i); for (int j=0;j<row.getLastCellNum();j++) { //处理 } 注:如有更好的方式,欢迎交流.

POI向Excel中写入数据及追加数据

import org.apache.poi.xssf.usermodel.XSSFCell; import org.apache.poi.xssf.usermodel.XSSFRow; import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import java.io.*; import java.util.ArrayList; import java.