java 如何往已经存在的excel表格里面追加数据的方法

 更新时间:2019年08月12日 09:49:10   作者:命运的信徒  
这篇文章主要介绍了java 如何往已经存在的excel表格里面追加数据的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

第一步、导入jar包,两个

poi.jar包  地址在 https://www.jb51.net/softs/542575.html

jxl.jar包  地址在  https://www.jb51.net/softs/544392.html

第二步、编写程序

package cn.com.com;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
public class Excel {
	/*
	 * author:命运的信徒
	 * date:2019-07-31 
	 * arm:通过java程序往excel里面续写数据
	 */
	public static void main(String[] args) {
		String url="C:/Users/Administrator/Desktop/img/1.xls";
		FileInputStream fs;
		try {
			fs = new FileInputStream(url);
			POIFSFileSystem ps=new POIFSFileSystem(fs); //使用POI提供的方法得到excel的信息 
	    HSSFWorkbook wb=new HSSFWorkbook(ps); 
	    HSSFSheet sheet=wb.getSheetAt(0); //获取到工作表,因为一个excel可能有多个工作表 
	    HSSFRow row=sheet.getRow(0);
	    int hang=0;
	    if("".equals(row)||row==null){
	    	hang=0;
	    }else{
	    	 hang=sheet.getLastRowNum();	
	    	 hang=hang+1;	
	    }
      //分别得到最后一行的行号,和一条记录的最后一个单元格     
	    FileOutputStream out=new FileOutputStream(url); //向d://test.xls中写数据 
	    row=sheet.createRow((short)(hang)); //在现有行号后追加数据 
	    row.createCell(0).setCellValue("安徽"); //设置第一个(从0开始)单元格的数据 
	    row.createCell(1).setCellValue("安庆"); //设置第二个(从0开始)单元格的数据 
	    out.flush(); 
	    wb.write(out);  
	    out.close();  
	    System.out.println(row.getPhysicalNumberOfCells()+" "+row.getLastCellNum());  
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} //获取d://test.xls 
	}
}

第三步、查看excel表格里面的内容

水红色是第一次添加的数据

深蓝色是第二次添加的数据

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • SpringMvc使用GoogleKaptcha生成验证码

    SpringMvc使用GoogleKaptcha生成验证码

    这篇文章主要为大家详细介绍了SpringMvc项目中使用GoogleKaptcha 生成验证码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-09-09
  • SpringMVC实现文件上传和下载功能

    SpringMVC实现文件上传和下载功能

    这篇文章主要为大家详细介绍了SpringMVC实现文件上传和下载功能 ,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-08-08
  • mybatis createcriteria和or的区别说明

    mybatis createcriteria和or的区别说明

    这篇文章主要介绍了mybatis createcriteria和or的区别说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-07-07
  • SpringBoot如何使用@RequestBody进行数据校验

    SpringBoot如何使用@RequestBody进行数据校验

    在Web开发中,前台向后台发送数据是非常常见的场景,而在SpringBoot框架中,我们通常使用@RequestBody注解来接收前台发送的 JSON数据,并将其转化为Java对象,本文将介绍如何在 SpringBoot 中使用 @RequestBody 进行数据校验
    2023-06-06
  • SpringBoot整合MongoDB的实现代码

    SpringBoot整合MongoDB的实现代码

    自己本科时候一直使用的是Mysql,目前的课题组使用的是MongoDB,因此就花了一部分时间整理了一下,实现springboot与MongoDB的整合,并且实现基本的增删改查操作,从头到尾给出一个完整的案例。
    2021-05-05
  • 详解Java ThreadPoolExecutor的拒绝策略

    详解Java ThreadPoolExecutor的拒绝策略

    这篇文章主要介绍了Java ThreadPoolExecutor的拒绝策略,本文对于线程的池的几种策略进行详细的讲解,在实际的生产中需要集合相关的场景来选择合适的拒绝策略,需要的朋友可以参考下
    2022-08-08
  • 在实践中了解Java反射机制应用

    在实践中了解Java反射机制应用

    当程序运行时,允许改变程序结构或变量类型,这种语言称为动态语言。我们认为java并不是动态语言,但是它却有一个非常突出的动态相关机制,俗称:反射。下面我们来简单学习一下吧
    2019-05-05
  • Java中的字节流InputStream和OutputStream详解

    Java中的字节流InputStream和OutputStream详解

    这篇文章主要介绍了Java中的字节流InputStream和OutputStream详解,继承自InputStream的流都是用于向程序中输入数据,且数据的单位为字节8bit,我们看到的具体的某一些管道,凡是以InputStream结尾的管道,都是以字节的形式向我们的程序输入数据,需要的朋友可以参考下
    2023-10-10
  • Swagger2不被SpringSecurity框架拦截的配置及说明

    Swagger2不被SpringSecurity框架拦截的配置及说明

    这篇文章主要介绍了Swagger2不被SpringSecurity框架拦截的配置及说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • 深入理解Mybatis中的resultType和resultMap

    深入理解Mybatis中的resultType和resultMap

    这篇文章给大家介绍了mybatis中的resultType和resultMap的用法实例讲解,MyBatis中在查询进行select映射的时候,返回类型可以用resultType,也可以用resultMap,至于两种用法区别,通过本文一起学习吧
    2016-09-09

最新评论