java 从EXCEL导入到数据库

简介: java 从EXCEL导入到数据库
+关注继续查看
package com.fh.util;
import java.io.File;
import java.io.FileInputStream;
import java.util.ArrayList;
import java.util.List;
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;
/**
 * 说明:从EXCEL导入到数据库
 * 作者:FH Admin
 * from:fhadmin.cn
 */
public class ObjectExcelRead {
    /**
     * @param filepath //文件路径
     * @param filename //文件名
     * @param startrow //开始行号
     * @param startcol //开始列号
     * @param sheetnum //sheet
     * @return list
     */
    public static List<Object> readExcel(String filepath, String filename, int startrow, int startcol, int sheetnum) {
        List<Object> varList = new ArrayList<Object>();
        try {
            File target = new File(filepath, filename);
            FileInputStream fi = new FileInputStream(target);
            HSSFWorkbook wb = new HSSFWorkbook(fi);
            HSSFSheet sheet = wb.getSheetAt(sheetnum);                  //sheet 从0开始
            int rowNum = sheet.getLastRowNum() + 1;                     //取得最后一行的行号
            for (int i = startrow; i < rowNum; i++) {                   //行循环开始
                
                PageData varpd = new PageData();
                HSSFRow row = sheet.getRow(i);                          //行
                int cellNum = row.getLastCellNum();                     //每行的最后一个单元格位置
                for (int j = startcol; j < cellNum; j++) {              //列循环开始
                    
                    HSSFCell cell = row.getCell(Short.parseShort(j + ""));
                    String cellValue = null;
                    if (null != cell) {
                        switch (cell.getCellType()) {                   // 判断excel单元格内容的格式,并对其进行转换,以便插入数据库
                        case 0:
                            cellValue = String.valueOf((int) cell.getNumericCellValue());
                            break;
                        case 1:
                            cellValue = cell.getStringCellValue();
                            break;
                        case 2:
                            cellValue = cell.getNumericCellValue() + "";
                            // cellValue = String.valueOf(cell.getDateCellValue());
                            break;
                        case 3:
                            cellValue = "";
                            break;
                        case 4:
                            cellValue = String.valueOf(cell.getBooleanCellValue());
                            break;
                        case 5:
                            cellValue = String.valueOf(cell.getErrorCellValue());
                            break;
                        }
                    } else {
                        cellValue = "";
                    }
                    
                    varpd.put("var"+j, cellValue);
                    
                }
                varList.add(varpd);
            }
        } catch (Exception e) {
            System.out.println(e);
        }
        
        return varList;
    }
}

 

目录
相关文章
|
1天前
|
Java 数据库
java实现数据库排序功能|compare排序出现IllegalArgumentException: Comparison method violates its general contract
java实现数据库排序功能|compare排序出现IllegalArgumentException: Comparison method violates its general contract
|
1天前
|
SQL Java 数据库连接
java链接数据库
好的,以下是一个简短的介绍: Java连接数据库的步骤如下: 1. 加载一个特定的数据库JDBC驱动。 2. 连接到一个数据库。 3. 之后,就可以对一个特定的数据库进行特定的操作了。 在实际操作中,可能会涉及到更多的细节,例如注册驱动、获取连接、执行SQL语句等。
5 0
|
13天前
|
存储 Java 数据库
基于 SpringBoot+Vue+Java 的高校招生管理系统(数据库+源码和教程)
基于 SpringBoot+Vue+Java 的高校招生管理系统(数据库+源码和教程)
|
13天前
|
Java 关系型数据库 测试技术
基于 SpringBoot+Vue+Java 的财务管理系统(附源码,数据库,教程)
基于 SpringBoot+Vue+Java 的财务管理系统(附源码,数据库,教程)
|
13天前
|
关系型数据库 MySQL Java
基于Java+Springboot+vue的幼儿园管理系统设计与实现(数据库,源码和教程)
基于Java+Springboot+vue的幼儿园管理系统设计与实现(数据库,源码和教程)
|
13天前
|
canal 关系型数据库 MySQL
java利用canal监听数据库
java利用canal监听数据库
23 0
|
13天前
|
前端开发 Java 关系型数据库
基于Java+SpringBoot+vue的社区报修维修平台(含源码和数据库)
基于Java+SpringBoot+vue的社区报修维修平台(含源码和数据库)
|
13天前
|
Java 测试技术 数据库
基于 SpringBoot+Vue+Java 的智慧外贸系统(数据库,附源码,教程)
基于 SpringBoot+Vue+Java 的智慧外贸系统(数据库,附源码,教程)
|
13天前
|
Java 关系型数据库 数据库
基于 Java+SpringBoot+Vue 的学生就业管理信息系统+数据库(附源码,教程)
基于 Java+SpringBoot+Vue 的学生就业管理信息系统+数据库(附源码,教程)
|
13天前
|
JavaScript Java 关系型数据库
基于springboot+vue+Java的自习室预定系统+数据库(附源码,文档)
基于springboot+vue+Java的自习室预定系统+数据库(附源码,文档)
相关产品
云迁移中心
推荐文章
更多