序:需求是往数据库批量造测试数据、数量较多。用代码直接生成sql文件会省很多事。

注、引包:poi.jar系列引入即可。

package demo;import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;public class excelToSql {public static void executeInfo() throws IOException{String filePath = "D:/FavoriteVideo/testExcel.xlsx";    //指定本地的数据目录String slqPath = "D:/FavoriteVideo/testSql.sql";    //指定生成文件目录try {InputStream in = new FileInputStream(filePath);Workbook wb = new XSSFWorkbook(in);in.close();String sql = "";Sheet sheetAt = wb.getSheetAt(0);int lastRowNum = sheetAt.getLastRowNum();Map map = new HashMap();sql = "";List<ExcelBean> excelBean = getExcelBean(sql, sheetAt, lastRowNum);Map<String,String> map1 =new HashMap<>();for(ExcelBean bean :excelBean){map1.put(bean.getTestName(),bean.getUser_());}Iterator<Map.Entry<String, String>> it = map1.entrySet().iterator();while (it.hasNext()) {Map.Entry<String, String> entry = it.next();System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());sql += String.format("INSERT IGNORE INTO `test_table_info` (`testName`, `updateTime`, `createTime`, `user_`) VALUES ('%s', now(), now(), '%s');\n", entry.getKey(), entry.getValue());}System.out.println(map1);System.out.println(map1.size());File file = new File(slqPath);if(!file.exists()){file.createNewFile();}byte[] bytes = sql.getBytes();OutputStream os = new FileOutputStream(slqPath);os.write(bytes);os.flush();os.close();System.out.println("sheets");} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}private static List<ExcelBean> getExcelBean(String sql, Sheet sheetAt, int lastRowNum) {List<ExcelBean> list = new ArrayList<>();for (int rowNum=0; rowNum <= lastRowNum; rowNum++){ExcelBean bean = new ExcelBean();    //创建一个单独Bean、System.out.println("rowNum = "+rowNum);Row row = sheetAt.getRow(rowNum);String testName = "";String user_ = "";if (row != null){Cell cell = row.getCell(0);if (cell != null) {testName = cell.getStringCellValue();bean.setTestName(testName);}cell = row.getCell(1);if (cell != null) {user_ = cell.getStringCellValue();bean.setUser_(user_);}/*** 更多列在这里补充*/}list.add(bean);}return list;}public static void main(String args[]) throws IOException{long startTime = System.currentTimeMillis();executeInfo();long endTime = System.currentTimeMillis();System.out.println("耗时为m:" + (endTime - startTime)/1000);}}

excel测试数据:

生成.sql文件:

生成的.sql直接拿入数据库执行即可。(oracle库记得更改日期字段哦..)

end_

转载于:https://www.cnblogs.com/haohao111/p/7523101.html

java解析excel生成sql文件相关推荐

  1. python生成表格文件_python 读取excel文件生成sql文件实例详解

    python 读取excel文件生成sql文件实例详解 学了python这么久,总算是在工作中用到一次.这次是为了从excel文件中读取数据然后写入到数据库中.这个逻辑用java来写的话就太重了,所以 ...

  2. easyexcel生成excel_阿里JAVA解析Excel工具easyexcel

    java解析.生成Excel比较有名的框架有Apache poi.jxl.但他们都存在一个严重的问题就是非常的耗内存,poi有一套SAX模式的API可以一定程度的解决一些内存溢出的问题,但POI还是有 ...

  3. java解析Excel文件

    下文介绍java解析Excel文件的方案 前置准备 1.第三方jar包或者Maven配置 org.apache.poi的jar包 Maven配置如下 <groupId>org.apache ...

  4. java生成sql文件

    java生成sql文件 场景 场景 用于清理数据库数据,生成sql语句脚本,方便DBA执行 @RequestMapping("/cleanQuestion")@ResponseBo ...

  5. java解析Excel文件的方法

    java解析Excel文件的方法 介绍 1.1 pom依赖 1.2 将数据流转化为可解析的Workbook类型文件 1.3 解析 1.4 Controller层接收前端传递的Excel文件(前端使用E ...

  6. 使用EasyExcel导入导出Excel报表-JAVA解析Excel工具

    一.EasyExcel概述 Java解析.生成Excel比较有名的框架有Apache poi.jxl.但他们都存在一个严重的问题就是非常的耗内存,poi有一套SAX模式的API可以一定程度的解决一些内 ...

  7. Java解析excel工具easyexcel 助你快速简单避免OOM

    原文链接:http://www.itsleuth.cn/post/javatool-001-easyexcel/ Java解析.生成Excel比较有名的框架有Apache poi.jxl.但他们都存在 ...

  8. java解析excel的方法_Java解析Excel内容的方法

    本文实例讲述了Java解析Excel内容的方法.分享给大家供大家参考.具体实现方法如下: import java.io.File; import java.io.FileInputStream; im ...

  9. JAVA解析Excel工具EasyExcel

    我是傲骄鹿先生,沉淀.学习.分享.成长. 如果你觉得文章内容还可以的话,希望不吝您的「一键三连」,文章里面有不足的地方希望各位在评论区补充疑惑.见解以及面试中遇到的奇葩问法 目录 64M内存20秒读取 ...

最新文章

  1. birt脚本for循环_Shell脚本编程2 for循环/while循环
  2. 中的多行卡片如何居中_编程中如何让图片垂直居中?两种方案分享给大家
  3. 解决mysql不能远程登入的问题
  4. AUTOSAR从入门到精通100讲(四十六)-CANoe工具使用-实现CAN通道的收、发、录、回放报文
  5. 硬盘计算机类比推理,判断推理类比推理:储存:光盘:硬盘 A:晾晒:绳索:衣架 B.吃...
  6. CSDN专訪:大数据时代下的商业存储
  7. 安装rocketmq-console插件
  8. lisp抛物线插值_抛物线插值法
  9. stm32采集脉冲信号_外部脉冲实现ADC采样的问题 STM32f103VE
  10. python基础知识——异常
  11. 以太坊分叉的缘由:著名的The DAO事件
  12. DSS的Windows版本如何安装呢?
  13. linux libxml2 rpm安装,Linux系统libxml2安装过程
  14. 『软件工程10』结构化系统分析:数据流图和字典案例分析
  15. 微信小程序考勤签到管理系统+后台管理系统
  16. Android探索之旅(第二十九篇)手把手教你如何简单创建快应用
  17. Jenkins Bitbucket Vue 部署
  18. html表格筛选,js实现表格筛选功能
  19. 大学生bootstrap框架网页作业成品 web前端大作业期末源码 航海王html+jquery+bootstrap响应式网页制作模板 学生海贼王动漫bootstrap框架网站作品
  20. 佳博80系列打印机驱动开发DLL支持C#的过程

热门文章

  1. es xxx_by_query
  2. 延迟任务调度系统—技术选型与设计(上篇)
  3. 【JSP开发】有关session的一些重要的知识点
  4. (转帖)C#--web services之wsdl文件生成cs
  5. 从软件质量看如何写代码(1)
  6. 选择Ruby的37个理由【转载】
  7. vector与list的区别
  8. 手动实现apply、call、bind
  9. ai项目实施步骤_停止AI产品开发中道德责任的6个步骤
  10. 云原生应用程序_什么是云原生应用程序?