1 import java.io.File;
2 import java.io.FileInputStream;
3 import java.util.ArrayList;
4 import java.util.List;
5
6 import org.apache.poi.hssf.usermodel.HSSFCell;
7 import org.apache.poi.hssf.usermodel.HSSFRow;
8 import org.apache.poi.hssf.usermodel.HSSFSheet;
9 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
10
11
12 public class ObjectExcelRead {
13
14 /**
15 * @param filepath //文件路径
16 * @param filename //文件名
17 * @param startrow //开始行号
18 * @param startcol //开始列号
19 * @param sheetnum //sheet
20 * @return list
21 */
22 public static List<Object> readExcel(String filepath, String filename, int startrow, int startcol, int sheetnum) {
23 List<Object> varList = new ArrayList<Object>();
24
25 try {
26 File target = new File(filepath, filename);
27 FileInputStream fi = new FileInputStream(target);
28 HSSFWorkbook wb = new HSSFWorkbook(fi);
29
30 // sheet从0开始
31 HSSFSheet sheet = wb.getSheetAt(sheetnum);
32 // 取得最后一行的行号
33 int rowNum = sheet.getLastRowNum() + 1;
34
35 // 行循环开始
36 for (int i = startrow; i < rowNum; i++) {
37 PageData varpd = new PageData();
38 // 行
39 HSSFRow row = sheet.getRow(i);
40 // 每行的最后一个单元格位置
41 int cellNum = row.getLastCellNum();
42
43 //列循环开始
44 for (int j = startcol; j < cellNum; j++) {
45 HSSFCell cell = row.getCell(Short.parseShort(j + ""));
46 String cellValue = null;
47
48 if (null != cell) {
49 // 判断excel单元格内容的格式,并对其进行转换,以便插入数据库
50 switch (cell.getCellType()) {
51 case 0:
52 cellValue = String.valueOf((int) cell.getNumericCellValue());
53 break;
54
55 case 1:
56 cellValue = cell.getStringCellValue();
57 break;
58
59 case 2:
60 cellValue = cell.getNumericCellValue() + "";
61 // cellValue = String.valueOf(cell.getDateCellValue());
62 break;
63
64 case 3:
65 cellValue = "";
66 break;
67
68 case 4:
69 cellValue = String.valueOf(cell.getBooleanCellValue());
70 break;
71
72 case 5:
73 cellValue = String.valueOf(cell.getErrorCellValue());
74 break;
75
76 }
77 } else {
78 cellValue = "";
79 }
80
81 varpd.put("var"+j, cellValue);
82 }
83 varList.add(varpd);
84 }
85 } catch (Exception e) {
86 System.out.println(e);
87 }
88
89 return varList;
90 }
91 }

Java-Excel表数据转List对象->导入数据库的更多相关文章

  1. Excel表数据导入数据库表中

    ***Excel表数据导入到数据库表中 通过数据库表的模板做成‘Excel’表的数据导入到数据库相应的表中(注意:主表 和 从表的关系,要先导‘主表’在导入从表) 过程:通过数据库的导入工具—先导入为 ...

  2. Excel表数据导入Sql Server数据库中

    Excel表数据导入Sql Server数据库的方法很多,这里只是介绍了其中一种: 1.首先,我们要先在test数据库中新建一个my_test表,该表具有三个字段tid int类型, tname nv ...

  3. Java 实现Excel表数据的读取和写入 以及过程中可能遇到的问题

    问题1:Unable to recognize OLE stream 格式的问题要可能是因为给的数据是2010年的数据表后缀为.xlsx,要先转化成2003版的后缀为.xls 问题2: Warning ...

  4. 向MySql数据库导入excel表数据

    最近要开发一个小的答题系统,如果题目人工录入那确实很麻烦.所以想到是不是可以从用一些现有数据格式的文件导入数据.在网上查了一下,看到有关于将excel的数据导入到mysql的方法.所以将题库数据整理成 ...

  5. Oracle导出表数据与导入表数据dmp,以及导入导出时候常见错误

    使用DOS 操作界面导出表数据,导入表数据(需要在数据库所在的服务器上边执行) exp UserName/Password@192.168.0.141/orcl   file=d:\xtables.d ...

  6. 提取excel表数据成json格式的以及对图片重命名

    开发那边的需求 1.功夫熊猫以及阿狸布塔故事集都是属于剧集的.意思就是有很多集,这里称他们为tv最下面这几行第一列没名字的都是单集的,这里称它们为mv需要统计所有工作表里面的数据把tv放一个大的jso ...

  7. 用JAVA进行Json数据解析(对象数组的相互嵌套)

    这段时间我们在做一个英语翻译软件的小小小APP,涉及到了对Json数据的解析,所以特地来总结一下! 假设我们要对如下数据进行解析,其实在平时,返回的Json数据是很乱的,很难分清数据的关系,这是经过相 ...

  8. PreparedStatement实现表数据的增删改 & 封装数据库链接和关闭操作

    PreparedStatement实现表数据的增删改 PreparedStatementUpdateTest package com.aff.PreparedStatement; import jav ...

  9. python生成数据后,快速导入数据库

    1.使用python生成数据库文件内容 # coding=utf-8import randomimport time def create_user():    start = time.time() ...

  10. Java版将EXCEL表数据导入到数据库中

    1.采用第三方控件JXL实现 try { //实例化一个工作簿对象 Workbook workBook=Workbook.getWorkbook(new File("F://qzlx.xls ...

随机推荐

  1. pip国内镜像永久

    一.Windows下永久设置pip镜像使用:# windows系统使用cmd(最好使用管理员权限运行)快速设置 pip install pip -U # 升级pip到最新版本 pip config s ...

  2. SQL 错误 [1105] [HY000]: errCode = 2, detailMessage = select list expression not produced by aggregation output (missing from GROUP BY clause?): ......

    SQL 错误 [1105] [HY000]: errCode = 2, detailMessage = select list expression not produced by aggregati ...

  3. StringBuilder 凭借字符串

    //拼接信息 StringBuilder sb = new StringBuilder(); sb.Append("条码:00002"); sb.AppendLine(); sb. ...

  4. pj_0002_wbs_manager

    #!/usr/bin/python # -*- coding: UTF-8 -*- import env_config from class_task import Task  from lib.li ...

  5. php实现无限极分类

    1.无限极分类 //处理父子级 private function getChildBak($data,$parent_id = 0){ $arr=array(); $i = 0; foreach($d ...

  6. Influxdb客户端使用

    Influxdb客户端使用 1. 简介 Influxdb在网络上可以搜索到一个叫InfluxdbStudio的工具,但只能在window下使用,有时在其他系统下做简单数据查询时就比较麻烦,下面以Inf ...

  7. CAD梦想看图手机版20211101更新(手机版CAD软件)

    CAD梦想看图手机版20211101更新(手机版CAD软件)1. 新界面风络2. 增加图块库功能3. 适配Android 114. 修改图块中的,多线义线的线型可能显示不对问题5. 修改图块中套用图块 ...

  8. -behaviour()的使用,他具体有什么作用

    Eralng 编程中的OTP OTP里面创建进程时 常用有四大behaviour • supervisor • gen_server • gen_fsm • gen_event 在erlang的编译器 ...

  9. call与apply的区别与共同点

    call与apply区别 共同点:都会立即执行函数 call:是以逗号为间隔,传递多个参数 apply:是以数组来进行传递多个参数

  10. SAP 常见函数

    *大小写转换 TRANSLATE STRING TO UPPER CASE. TRANSLATE STRING TO LOWER CASE. *前缀去零 CALL FUNCTION 'CONVERSI ...