读取一个表数据根据自己的需求将数据插入到另外一个表中,复制代码下载excel及jar包即可

注意:读取表数据时,表格中的格子没有数据时会读取报错

excel文件及相关jar包:

连接:https://pan.baidu.com/s/1BpLGxBz2dPRvq_eCxFofzA,提取码:aczc

excel表格:(一下插入数据是从表格内随机获取插入数据)

package kf.ats.gvnsvr.client.taizhou.test;import org.apache.commons.io.FileUtils;
import org.apache.poi.hssf.usermodel.HSSFCell;
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.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Random;public class TestEditExcel {//第一行每一列的titleprivate static String[] title = new String[] {"部门名称","事项编码","事项名称","创建时间","状态"};//生成文件名private static String newfilepath = "e:/testNew.xls";public static void main(String[] args) throws IOException{//读取excel表数据List<BumenEnity> listMaps = getExcelOne();//封装需要写入excel表的数据List<Map<String,String>> BodyMap = excelDataList(listMaps);//写入数据exportXlsgl(BodyMap);}/*** 读取excel表数据* @return,list对象集合*/public static List<BumenEnity> getExcelOne(){List<BumenEnity> listMaps = new ArrayList<BumenEnity>();File file = new File("D:\\2020CodeFile\\yhs.xlsx");/IP地址FileInputStream in;XSSFWorkbook wb;try {in = new FileInputStream(file);wb = new XSSFWorkbook(in);Sheet sheet = wb.getSheetAt(0); //取得“测试.xlsx”中的第一个表单int firstRowNum = sheet.getFirstRowNum(); int lastRowNum = sheet.getLastRowNum(); Row row = null; for (int i = firstRowNum+1; i <= lastRowNum; i++) { try { BumenEnity map = new BumenEnity();row = sheet.getRow(i);          //取得第i行 (从第二行开始取,因为第一行是表头)map.setDepartment(row.getCell(1).getStringCellValue());map.setName(row.getCell(2).getStringCellValue());map.setService(row.getCell(3).getStringCellValue());listMaps.add(map);} catch (Exception e) { e.printStackTrace(); } }} catch (Exception e1) {// TODO Auto-generated catch blocke1.printStackTrace();}return listMaps;}public static List<Map<String,String>> excelDataList(List<BumenEnity> map){List<Map<String,String>> BodyMap = new ArrayList<Map<String, String>>();Random r = new Random(1);for (int i=0;i<5;i++){int ret = r.nextInt(100);Date date = randomDate("2020-09-01","2020-11-20");System.out.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(date) + "  " + ret + "  " + map.get(ret).getDepartment()  + "  " + map.get(ret).getName() + "  " + map.get(ret).getService());int max=17,min=8;long randomNum = System.currentTimeMillis();int ran3 = (int) (randomNum%(max-min)+min);DecimalFormat g1=new DecimalFormat("00");String startZeroStr = g1.format(Integer.valueOf(ran3));Map<String,String> mapdata = new HashMap<String,String>();mapdata.put("name1", map.get(ret).getName());mapdata.put("name2", map.get(ret).getDepartment());mapdata.put("name3", map.get(ret).getService());mapdata.put("name4", new SimpleDateFormat("yyyy-MM-dd "+startZeroStr+":mm:ss").format(date));mapdata.put("name5", "SUCCESS");BodyMap.add(mapdata);}return BodyMap;}/*** 生成随机时间* @param beginDate开始时间* @param endDate结束时间* @return*/private static Date randomDate(String beginDate,String endDate){try {SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");Date start = format.parse(beginDate);Date end = format.parse(endDate);if(start.getTime() >= end.getTime()){return null;}long date = random(start.getTime(),end.getTime());return new Date(date);} catch (Exception e) {e.printStackTrace();}return null;}/*** 生成随机数* @param begin* @param end* @return*/private static long random(long begin,long end){long rtn = begin + (long)(Math.random() * (end - begin));if(rtn == begin || rtn == end){return random(begin,end);}return rtn;}/*** 创建excel文件并插入数据* @param BodyMap*/public static void exportXlsgl(List<Map<String,String>> BodyMap){//1.创建Excel工作簿HSSFWorkbook workbook = new HSSFWorkbook();//2.创建一个工作表HSSFSheet sheet = workbook.createSheet("sheet2");//3.创建第一行HSSFRow row = sheet.createRow(0);HSSFCell cell = null;//4.插入第一行数据for (int i = 0; i < title.length; i++) {cell=row.createCell(i);cell.setCellValue(title[i]);}//5.追加数据int i=1;for (Map<String, String> m : BodyMap){ HSSFRow row2=sheet.createRow(i);HSSFCell cell2=row2.createCell(0);cell2.setCellValue(m.get("name1"));cell2=row2.createCell(1);cell2.setCellValue(m.get("name2"));cell2=row2.createCell(2);cell2.setCellValue(m.get("name3"));cell2=row2.createCell(3);cell2.setCellValue(m.get("name4"));cell2=row2.createCell(4);cell2.setCellValue(m.get("name5"));cell2=row2.createCell(5);i++;}//创建一个文件,将Excel内容存盘File file=new File(newfilepath);try {file.createNewFile();FileOutputStream stream=FileUtils.openOutputStream(file);workbook.write(stream);stream.close();} catch (IOException e) {e.printStackTrace();}}
}

实体类:BumenEnity

插入表数据输出结果:

Java操作excel文件插入数据相关推荐

  1. 高级知识点:excel4j实现java操作excel文件的读写

    介绍 java操作excel文件最经典的是POI,但是其api 较多,代码量巨大,反复重复 excel4j ap则简洁太多,利用pojo建模,利用注解进行标识@ExcelField(title = & ...

  2. Java操作Excel文件以及在Android中的应用

    本文章由临江仙原创,转载请注明出处:http://blog.csdn.net/zhy_cheng/article/details/10286563 Excel作为一种有格式的文件,可以使用Java来对 ...

  3. java操作excel文件基础架构实现,支持2007以上版本

    转载请注明出处:http://blog.csdn.net/xiaojimanman/article/details/22800915 java操作office文件现在主流的jar包有jxl和POI,由 ...

  4. java向Excel文件写入数据

    package cn.ccaih.read;import org.apache.poi.xssf.usermodel.XSSFRow; import org.apache.poi.xssf.userm ...

  5. java使用poi给excel文件插入数据

    excel模板文件 代码 package com.example.demo;import java.io.File; import java.io.FileInputStream; import ja ...

  6. excel中用java语言_利用 JAVA 操作 EXCEL 文件

    Java Excel 是一开放源码项目,通过它 Java 开发人员可以读取 Excel 文件的内容.创建新的 Excel 文件.更新已经存在的 Excel 文件.使用该 API 非 Windows 操 ...

  7. Python操作Excel文件汇总数据案例一则

    问题描述: Excel文件"每个人的爱好.xlsx"内容如下: 要求在最后追加一列,该列中每个单元格的内容为所在行前几列单元格数据的汇总.以上面的内容为例,处理后文件内容如下: 参 ...

  8. java操作excel文件之系列一:《读取excel文件的内容保存到数据库》

    excel文件:example.xls 文件内容大概是下面这样的: 现在要读取excel的内容写入数据库中 String filepath = "example.xls";Stri ...

  9. R语言操作excel文件的数据

    简述 令人惊讶的是,网上的教程关于r语言处理excel数据的都是在说如何读.. 下面以用xlsx这个包为例 安装这个包,并读取数据 [两行命令]R语言读取excel数据 操作数据 其实,导入进来之后, ...

最新文章

  1. tf.estimator的用法
  2. 赵本山说日本车。(笑死不偿命)
  3. Linux中搭建Maven私服
  4. 图解Flex开发教程
  5. 硬盘对应计算机主板,电脑中那些硬件是容易损坏的,机械硬盘和主板
  6. c语言输入的成绩由高到低该怎么,输入成绩,按照平均分从高到低输出
  7. 代码段编辑器SnippetEditor 2.1
  8. python切片是什么_python列表切片是什么
  9. 2013蓝桥杯java试题_2013年第四届蓝桥杯javaB组 试题 答案 解析
  10. MD5工具类 加盐加密 及编码
  11. 飞机订票系统(c语言)
  12. Java设计模式补充:回调模式、事件监听器模式、观察者模式(转)
  13. 数据结构导论-不得不知的基础
  14. 关闭appleid双重认证_Apple ID 被停用如何解决?
  15. 2020强网杯Siri记录
  16. 如何在linux系统下的抓包文件保存在u盘里,在xp系统中打开,【Linux】Wireshark在Linux系统下的安装及使用...
  17. react中使用eslint+prettier+airbnb校验代码风格
  18. AntV X6流程图绘制程序(官方示例纯javascript+html+css)
  19. i += j ;与 i = i + j ; 的区别
  20. selenium定位不准的问题

热门文章

  1. 最优性理论(无约束)
  2. Latex出现错误:File ‘citesort.sty‘ not found.
  3. WAP开发问答(1)简单的说WAP代表什么?
  4. Unity捕鱼达人5-----鱼群的生成
  5. 数据库表的字段常用数据类型
  6. [MySQL]什么是视图以及视图的作用
  7. java webservice开发和调用(jdk1.5+eclipse3.4 + tomcat5.5+axis1.4+xfire1.2.6)
  8. Javamail使用IMAP同步QQ自定义文件夹问题
  9. Hadoop安装准备
  10. correl函数相关系数大小意义_用Correl函数返回相关系数,以确定属性关系