如何用java使用POI读取excel文件,创建excel文件,实现批量导出和导入
例子1:
1 //读取excel 2 String path = "F:\\\\yujun\\\\javaweb\\\\第二章\\\\stu.xlsx"; 3 //工作表 4 Workbook book = new XSSFWorkbook(path); 5 //工作页 6 Sheet sheet = book.getSheet("学生信息"); 7 //获取工作页的行数 8 int rows = sheet.getLastRowNum(); //自动排除第一行 9 System.out.println("总行数:"+rows); 10 11 for(int i=0;i<=rows;i++) { 12 //每行 13 Row r = sheet.getRow(i); 14 //得到总列数 15 int cells = r.getLastCellNum(); 16 17 String str = ""; 18 19 for(int k=0;k < cells;k++) { 20 //取得每列 21 Cell c = r.getCell(k); 22 String data = c.toString(); //获取该列的值 23 str += data+"\t"; 24 } 25 System.out.println(str); 26 } 27 book.close();
例子2:
1 //创建工作本 2 Workbook book = new XSSFWorkbook();//操作excel2007及以上 3 //HSSFWorkbook //操作excel2003及以下 4 //工作页 5 Sheet sheet = book.createSheet("学生信息"); 6 //创建第一行(标题行) 7 Row title = sheet.createRow(0); 8 //添加标题行的列 9 Cell c0 = title.createCell(0); 10 c0.setCellValue("ID"); 11 title.createCell(1).setCellValue("姓名"); 12 title.createCell(2).setCellValue("性别"); 13 title.createCell(3).setCellValue("年龄"); 14 15 //添加数据 16 Row r1 = sheet.createRow(1); 17 r1.createCell(0).setCellValue(1); 18 r1.createCell(1).setCellValue("abc"); 19 r1.createCell(2).setCellValue("女"); 20 r1.createCell(3).setCellValue(20); 21 22 //写入文件 23 String path = "F:\\yujun\\javaweb\\第二章\\stu.xlsx"; 24 book.write(new FileOutputStream(new File(path))); 25 book.close(); 26 System.out.println("excel写入完成");
例子3:
1 //批量添加 2 public List<String[]> readExcel(String path) throws Exception { 3 List<String[]> list = new ArrayList<>(); 4 // 工作表 5 Workbook book = new XSSFWorkbook(path); 6 // 工作页 7 Sheet sheet = book.getSheetAt(0); 8 // 获取工作页的行数 9 int rows = sheet.getLastRowNum(); // 自动排除第一行 10 11 for (int i = 1; i <= rows; i++) { 12 // 每行 13 Row r = sheet.getRow(i); 14 // 得到总列数 15 int cells = r.getLastCellNum(); 16 17 String[] sqlValue = new String[cells]; 18 for (int k = 0; k < cells; k++) { 19 // 取得每列 20 Cell c = r.getCell(k); 21 String data = c.toString(); // 获取该列的值 22 sqlValue[k] = data; 23 24 } 25 list.add(sqlValue); 26 } 27 book.close(); 28 return list; 29 } 30 31 32 public boolean batchInsert(List<String[]> values) { 33 Connection conn = null; 34 PreparedStatement ps = null; 35 ResultSet rs = null; 36 try { 37 conn = DBUtil.getConnection(); 38 conn.setAutoCommit(false); 39 40 String sql = "insert stuInfo values(?,?,?,?)"; 41 ps = conn.prepareStatement(sql); 42 for(String[] value : values) { 43 ps.setInt(1, 0); 44 ps.setString(2, value[1]); 45 ps.setString(3, value[2]); 46 ps.setInt(4, (int)Double.parseDouble(value[3])); 47 ps.addBatch(); 48 } 49 ps.executeBatch(); 50 conn.commit(); 51 return true; 52 }catch(Exception e) { 53 try { 54 conn.rollback(); 55 } catch (SQLException e1) { 56 e1.printStackTrace(); 57 } 58 System.out.println(e); 59 }finally { 60 DBUtil.close(conn, ps, rs); 61 } 62 return false; 63 } 64 65 public static void main(String[] args) throws Exception { 66 Work2 w = new Work2(); 67 String path = "F:\\\\yujun\\\\javaweb\\\\第二章\\\\stu.xlsx"; 68 List<String[]> values = w.readExcel(path); 69 w.batchInsert(values); 70 71 System.out.println("ok"); 72 }
转载于:https://www.cnblogs.com/chyxOne/p/9762336.html
如何用java使用POI读取excel文件,创建excel文件,实现批量导出和导入相关推荐
- java使用poi读取跨行跨列excel
java使用poi读取跨行跨列excel 1.需求背景 2.实现思路分析 3.重要代码片码说明 4.完整的代码类如下: 5.完整的demo代码提供如下 6.demo执行结果 1.需求背景 最近有一个工 ...
- java利用poi读取excel_java利用POI读取excel文件的方法
摘要:利用java读取excel文件,读取文件并获取文件中每一个sheet中的值. 一.需要提前导入的包: import java.io.File; import java.io.FileInputS ...
- Java使用POI读取和写入Excel指南
Java使用POI读取和写入Excel指南 做项目时经常有通过程序读取Excel数据,或是创建新的Excel并写入数据的需求: 网上很多经验教程里使用的POI版本都比较老了,一些API在新版里已经废弃 ...
- java使用poi读取存储excel表格,包括xls和xlsx格式
全栈工程师开发手册 (作者:栾鹏) java教程全解 java使用poi读取存储excel表格,包括xls和xlsx格式. 需要导入的包 poi-3.14.jar poi-ooxml-3.14.jar ...
- java poi 模板填数据库,java使用POI读取excel模版并向固定表格里填写数据详解
java使用POI读取excel模版并向固定表格里填写数据详解:public class ExportExcelDemo { private HSSFWorkbook workbook = null; ...
- java通过poi读取excel中的日期类型数据或自定义类型日期
java通过poi读取excel中的日期类型数据或自定义类型日期 Java 读取Excel表格日期类型数据的时候,读出来的是这样的 12-十月-2019,而Excel中输入的是 2019/10/12 ...
- java使用poi.xssf 写入内容到excel表格中 和 读取 表格里面的数据
一.java使用poi.xssf 写入内容到excel表格中 public class TestExcel {//创建一个excel工作簿public static String outputFile ...
- java excel导出2007_java操作excel文件,实现批量导出,和导入
一.POI的定义 JAVA中操作Excel的有两种比较主流的工具包: JXL 和 POI .jxl 只能操作Excel 95, 97, 2000也即以.xls为后缀的excel.而poi可以操作Exc ...
- JAVA Apache POI解析docx格式的word文件并提取带样式文本
关于JAVA Apache POI读取word文档,网上资料很多,但是大多数还是仅仅提取文档中的纯文本,好一点的,也就提取所有图片,但是,word文档本身是具有样式的,这样简单粗暴的提取就会丢失字体. ...
最新文章
- 全球数据进入ZB时代,希捷如何让数据创造深价值?
- Intel SGX Remote Attestation实例代码安装和执行,笔记
- W7程序计算机面板介绍,win7系统隐藏任意程序运行界面的详细步骤
- 【错误记录】360 加固后的运行错误 ( 加固 SO 动态库时不能对第三方动态库进行加固 )
- get_called_class与get_class
- select2 属性标签整理
- linux常用命令_Linux常用命令全称
- 如何用C#在Excel中生成图表?
- 使用Quarkus调试容器中的系统测试(视频)
- oledb excel java_C#中Excel 2016的oledb连接字符串
- BZOJ2561最小生成树——最小割
- js 把对象按照属性名的字母顺序进行排列
- Splay伸展树入门(单点操作,区间维护)附例题模板
- SharePoint JavaScript API in application pages
- 电子计算机的五个部分组成,电子计算机由哪几大部分构成?
- AD绘制PCB经验总结3-规则报警 Silk primitive without silk layer+Minimum Solder Mask Sliver
- Unity小地图的实现
- 【渝粤教育】电大中专新媒体营销实务 (8)作业 题库
- flutter 华为审核:你的应用存在隐藏最近任务列表中应用名称的问题,不符合华为应用市场审核标准
- circos 中堆积柱状图的画法
热门文章
- ubuntu18.04上安装ffmpeg
- 视频中的运动特征--Learning Motion Patterns in Videos
- 【Timbre,Amplitude,Pitch】声音的基本属性
- ClickHouse报错解决:Code: 194. DB::Exception: Received from localhost:9000, 127.0.0.1. DB::Exception: Pas
- 欠拟合的原因以及解决办法(深度学习)
- 两路虚拟化服务器,服务器虚拟化(二)
- maven mybatis mysql_Java Web学习系列——Maven Web项目中集成使用Spring、MyBatis实现对MySQL的数据访问...
- 浅析Mysql Join语法以及性能优化
- Http协议原理解析
- ACM寒假训练第一周总结