例子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文件,实现批量导出和导入相关推荐

  1. java使用poi读取跨行跨列excel

    java使用poi读取跨行跨列excel 1.需求背景 2.实现思路分析 3.重要代码片码说明 4.完整的代码类如下: 5.完整的demo代码提供如下 6.demo执行结果 1.需求背景 最近有一个工 ...

  2. java利用poi读取excel_java利用POI读取excel文件的方法

    摘要:利用java读取excel文件,读取文件并获取文件中每一个sheet中的值. 一.需要提前导入的包: import java.io.File; import java.io.FileInputS ...

  3. Java使用POI读取和写入Excel指南

    Java使用POI读取和写入Excel指南 做项目时经常有通过程序读取Excel数据,或是创建新的Excel并写入数据的需求: 网上很多经验教程里使用的POI版本都比较老了,一些API在新版里已经废弃 ...

  4. java使用poi读取存储excel表格,包括xls和xlsx格式

    全栈工程师开发手册 (作者:栾鹏) java教程全解 java使用poi读取存储excel表格,包括xls和xlsx格式. 需要导入的包 poi-3.14.jar poi-ooxml-3.14.jar ...

  5. java poi 模板填数据库,java使用POI读取excel模版并向固定表格里填写数据详解

    java使用POI读取excel模版并向固定表格里填写数据详解:public class ExportExcelDemo { private HSSFWorkbook workbook = null; ...

  6. java通过poi读取excel中的日期类型数据或自定义类型日期

    java通过poi读取excel中的日期类型数据或自定义类型日期 Java 读取Excel表格日期类型数据的时候,读出来的是这样的  12-十月-2019,而Excel中输入的是 2019/10/12 ...

  7. java使用poi.xssf 写入内容到excel表格中 和 读取 表格里面的数据

    一.java使用poi.xssf 写入内容到excel表格中 public class TestExcel {//创建一个excel工作簿public static String outputFile ...

  8. java excel导出2007_java操作excel文件,实现批量导出,和导入

    一.POI的定义 JAVA中操作Excel的有两种比较主流的工具包: JXL 和 POI .jxl 只能操作Excel 95, 97, 2000也即以.xls为后缀的excel.而poi可以操作Exc ...

  9. JAVA Apache POI解析docx格式的word文件并提取带样式文本

    关于JAVA Apache POI读取word文档,网上资料很多,但是大多数还是仅仅提取文档中的纯文本,好一点的,也就提取所有图片,但是,word文档本身是具有样式的,这样简单粗暴的提取就会丢失字体. ...

最新文章

  1. 全球数据进入ZB时代,希捷如何让数据创造深价值?
  2. Intel SGX Remote Attestation实例代码安装和执行,笔记
  3. W7程序计算机面板介绍,win7系统隐藏任意程序运行界面的详细步骤
  4. 【错误记录】360 加固后的运行错误 ( 加固 SO 动态库时不能对第三方动态库进行加固 )
  5. get_called_class与get_class
  6. select2 属性标签整理
  7. linux常用命令_Linux常用命令全称
  8. 如何用C#在Excel中生成图表?
  9. 使用Quarkus调试容器中的系统测试(视频)
  10. oledb excel java_C#中Excel 2016的oledb连接字符串
  11. BZOJ2561最小生成树——最小割
  12. js 把对象按照属性名的字母顺序进行排列
  13. Splay伸展树入门(单点操作,区间维护)附例题模板
  14. SharePoint JavaScript API in application pages
  15. 电子计算机的五个部分组成,电子计算机由哪几大部分构成?
  16. AD绘制PCB经验总结3-规则报警 Silk primitive without silk layer+Minimum Solder Mask Sliver
  17. Unity小地图的实现
  18. 【渝粤教育】电大中专新媒体营销实务 (8)作业 题库
  19. flutter 华为审核:你的应用存在隐藏最近任务列表中应用名称的问题,不符合华为应用市场审核标准
  20. circos 中堆积柱状图的画法

热门文章

  1. ubuntu18.04上安装ffmpeg
  2. 视频中的运动特征--Learning Motion Patterns in Videos
  3. 【Timbre,Amplitude,Pitch】声音的基本属性
  4. ClickHouse报错解决:Code: 194. DB::Exception: Received from localhost:9000, 127.0.0.1. DB::Exception: Pas
  5. 欠拟合的原因以及解决办法(深度学习)
  6. 两路虚拟化服务器,服务器虚拟化(二)
  7. maven mybatis mysql_Java Web学习系列——Maven Web项目中集成使用Spring、MyBatis实现对MySQL的数据访问...
  8. 浅析Mysql Join语法以及性能优化
  9. Http协议原理解析
  10. ACM寒假训练第一周总结