导入Excel java

1.方法调用

public void importExcel(HttpServletRequest request, HttpServletResponse response) throws IOException {
        ItemController xlsMain = new ItemController();
        ItemEntity xls = null;
        List<ItemEntity> list = xlsMain.readXls(request, response);
        for (int i = 0; i < list.size(); i++) {
            xls = (ItemEntity) list.get(i);
           itemService.save(xls);
        }

    }

2.读取xls文件内容

  1  private List<ItemEntity> readXls(HttpServletRequest request, HttpServletResponse response) throws IOException {
  2         MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
  3         Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
  4          List<ItemEntity> list = new ArrayList<ItemEntity>();
  5         for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
  6             MultipartFile file = entity.getValue();// 获取上传文件对象
  7             InputStream is =file.getInputStream();
  8             HSSFWorkbook hssfWorkbook = new HSSFWorkbook(is);
  9             ItemEntity item = null;
 10
 11             // 循环工作表Sheet
 12             for (int numSheet = 0; numSheet < hssfWorkbook.getNumberOfSheets(); numSheet++) {
 13                 HSSFSheet hssfSheet = hssfWorkbook.getSheetAt(numSheet);
 14                 if (hssfSheet == null) {
 15                     continue;
 16                 }
 17                 // 循环行Row
 18                 for (int rowNum = 3; rowNum <= hssfSheet.getLastRowNum(); rowNum++) {
 19                     HSSFRow hssfRow = hssfSheet.getRow(rowNum);
 20                     if (hssfRow == null) {
 21                         continue;
 22                     }
 23                     item = new ItemEntity();
 24                     // 循环列Cell
 25                     // 0编号 1名称 2学院 3类型 4
 26                     HSSFCell no = hssfRow.getCell(0);
 27                     item.setNo(ExcelTempletService.getCellValueString(no));
 28                     HSSFCell name = hssfRow.getCell(1);
 29                     item.setName(ExcelTempletService.getCellValueString(name));
 30                     HSSFCell type = hssfRow.getCell(2);
 31                     item.setType(ExcelTempletService.getCellValueString(type));
 32                     HSSFCell price = hssfRow.getCell(3);
 33                     if (ExcelTempletService.getCellValueString(price)!=null) {
 34                         item.setPrice(Double.parseDouble(ExcelTempletService.getCellValueString(price)));
 35                     }
 36                     HSSFCell memberPrice = hssfRow.getCell(4);
 37                     if (ExcelTempletService.getCellValueString(memberPrice)!=null) {
 38                         item.setMemberPrice(Double.parseDouble(ExcelTempletService.getCellValueString(memberPrice)));
 39                     }
 40                     HSSFCell periodPrice = hssfRow.getCell(5);
 41                     if (ExcelTempletService.getCellValueString(periodPrice)!=null) {
 42                         item.setPeriodPrice(Double.parseDouble(ExcelTempletService.getCellValueString(periodPrice)));
 43                     }
 44                     HSSFCell periodNumber = hssfRow.getCell(6);
 45                     if (ExcelTempletService.getCellValueString(periodNumber)!=null) {
 46                         item.setPeriodNumber(Integer.parseInt(ExcelTempletService.getCellValueString(periodNumber)));
 47                     }
 48                     HSSFCell itemTime = hssfRow.getCell(7);
 49                     if (ExcelTempletService.getCellValueString(itemTime)!=null) {
 50                         item.setItemTime(Integer.parseInt(ExcelTempletService.getCellValueString(itemTime)));
 51                     }
 52                     HSSFCell brand = hssfRow.getCell(8);
 53                     item.setBrand(ExcelTempletService.getCellValueString(brand));
 54                     HSSFCell feature = hssfRow.getCell(9);
 55                     item.setFeature(ExcelTempletService.getCellValueString(feature));
 56                     HSSFCell effect = hssfRow.getCell(10);
 57                     item.setEffect(ExcelTempletService.getCellValueString(effect));
 58                     HSSFCell fitPeople = hssfRow.getCell(11);
 59                     item.setFitPeople(ExcelTempletService.getCellValueString(fitPeople));
 60                     HSSFCell flow = hssfRow.getCell(12);
 61                     item.setFlow(ExcelTempletService.getCellValueString(flow));
 62                     HSSFCell caution = hssfRow.getCell(13);
 63                     item.setCaution(ExcelTempletService.getCellValueString(caution));
 64                     HSSFCell suggest = hssfRow.getCell(14);
 65                     item.setSuggest(ExcelTempletService.getCellValueString(suggest));
 66                     HSSFCell description = hssfRow.getCell(15);
 67                     item.setDescription(ExcelTempletService.getCellValueString(description));
 68                     HSSFCell canOptional = hssfRow.getCell(16);
 69                     item.setCanOptional(ExcelTempletService.getCellValueString(canOptional));
 70                     HSSFCell canGift = hssfRow.getCell(17);
 71                     item.setCanGift(ExcelTempletService.getCellValueString(canGift));
 72                     HSSFCell isHomepage = hssfRow.getCell(18);
 73                     item.setIsHomepage(ExcelTempletService.getCellValueString(isHomepage));
 74                     HSSFCell workload = hssfRow.getCell(19);
 75                     item.setWorkload(ExcelTempletService.getCellValueString(workload));
 76                     HSSFCell status = hssfRow.getCell(20);
 77                     item.setStatus(ExcelTempletService.getCellValueString(status));
 78                     HSSFCell createBy = hssfRow.getCell(21);
 79                     item.setCreateBy(ExcelTempletService.getCellValueString(createBy));
 80                     HSSFCell createName = hssfRow.getCell(22);
 81                     item.setCreateName(ExcelTempletService.getCellValueString(createName));
 82                     HSSFCell createDate = hssfRow.getCell(23);
 83                     //将String类型转成Date类型
 84                     SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
 85                     if (ExcelTempletService.getCellValueString(createDate)!=null) {
 86                         try {
 87                             Date date=sdf.parse(ExcelTempletService.getCellValueString(createDate));
 88                             item.setCreateDate(date);
 89                         } catch (ParseException e) {
 90                             e.printStackTrace();
 91                         }
 92                     }
 93                     HSSFCell updateBy = hssfRow.getCell(24);
 94                     item.setUpdateBy(ExcelTempletService.getCellValueString(updateBy));
 95                     HSSFCell updateName = hssfRow.getCell(25);
 96                     item.setUpdateName(ExcelTempletService.getCellValueString(updateName));
 97                     HSSFCell updateDate = hssfRow.getCell(26);
 98                     if (ExcelTempletService.getCellValueString(updateDate)!=null) {
 99                         try {
100                             Date date=sdf.parse(ExcelTempletService.getCellValueString(updateDate));
101                             item.setUpdateDate(date);
102                         } catch (ParseException e) {
103                             e.printStackTrace();
104                         }
105                     }
106                     HSSFCell delflag = hssfRow.getCell(27);
107                     if(ExcelTempletService.getCellValueString(delflag)!=null){
108                          item.setDelflag(Integer.parseInt(ExcelTempletService.getCellValueString(delflag)));
109                     }
110
111                     HSSFCell delDate = hssfRow.getCell(28);
112                     if (ExcelTempletService.getCellValueString(delDate)!=null) {
113                          try {
114                              Date date=sdf.parse(ExcelTempletService.getCellValueString(delDate));
115                              item.setDelDate(date);
116                          } catch (ParseException e) {
117                              e.printStackTrace();
118                          }
119                     }
120
121                     list.add(item);
122                 }
123
124             }
125         }
126         return list;
127     }
时间: 2024-10-28 12:00:39

导入Excel java的相关文章

Java的poi技术读取和导入Excel

报表输出是Java应用开发中经常涉及的内容,而一般的报表往往缺乏通用性,不方便用户进行个性化编辑.Java程序由于其跨平台特性,不能直接操纵Excel.因此,本文探讨一下POI视线Java程序进行Excel的读取和导入. AD:WOT2014:用户标签系统与用户数据化运营培训专场 项目结构: 用到的Excel文件: XlsMain .java 类 //该类有main方法,主要负责运行程序,同时该类中也包含了用poi读取Excel(2003版) import java.io.FileInputSt

JAVA将执行sql结果导入excel

Java实现将查询的sql结果集导入excel,用到jxl.jar包可在http://download.csdn.net/detail/qq8618/8304057 下载 public String queryResultToExcel(String sql,String filename,OutputStream os) { Connection conn = null; Statement sm = null; ResultSet rs = null; try { conn = getCon

Java 使用poi导入excel,结合xml文件进行数据验证的例子(增加了jar包)

ava 使用poi导入excel,结合xml文件进行数据验证的例子(增加了jar包) 假设现在要做一个通用的导入方法: 要求: 1.xml的只定义数据库表中的column字段,字段类型,是否非空等条件. 2.excel定义成模板,里面只填写了所需要的数据,有可能数据有问题. 3.在导入的时候就需要对每个excel单元格的数据进行验证. 4.验证完之后,若所有数据正确,那么批量保存.若有一点点错误,就不执行保存操作,并提示错误原因. 思路: 1.完美使用了Map的功能,先将xml中的数据存入map

java poi 导入excel

最近项目需要导入excel,网上有很多例子,自己整合记录下,兼容2003和2007,暂时没有添加图片处理功能. 所需jar包  http://pan.baidu.com/s/1sjPuWDR package example.poi; import java.io.*; import java.text.DecimalFormat; import org.apache.poi.hssf.usermodel.*; import org.apache.poi.ss.usermodel.*; impor

Java导入Excel文件

package com.cme.core; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.Ar

java中使用poi实现导入Excel

1.java中使用poi实现导入Excel public class XlsDto { /** * 选课号 */ private Integer xkh; /** * 学号 */ private String xh; /** * 姓名 */ private String xm; /** * 学院 */ private String yxsmc; /** * 课程号 */ private Integer kch; /** * 课程名 */ private String kcm; /** * 成绩

项目产品化——Excel数据库模板化导入(java)

Excel导入可能是代码开发中比较常见的功能,一个项目如果有多个地方需要excel导入数据库,那么开发的工作量也将比较大,项目产品化过程中,将这么一个类似的功能进行封装合并也是必要的,封装好的代码只需要 使用方法: 第一步进行数据库关于excel的配置 第二步在jsp页面引入excel导入界面即可 拿到excel模板,不需要自己写后台代码,直接在数据库配置excel列与数据库字段的关系,然后在需要excel导入的地方,引入一个连接,即可生成excel导入功能.数据库配置一定要正确 //客户信息批

java easyreport 导入excel、 txt 数据简单实现(一)

一直在看博客,却不知道怎么写,但是总是想写点什么,犹豫了两三天,决定还是写点东西吧,来和大家分享下. 今年上半年时候接到了一个需求,具体什么需求就不说了,要求导入excel数据,并提示每一行错误信息.接到手后,查看之前的导入excel报表的代码,发现只有初始化workBook和根据cell获取cell 字符串值得通用方法.觉得可利用的东西太少了,于是决定就构建一个通用的实现导入excel报表的工具包. 实现思路大致是这样的: 提供模板,模板包含读起始行.属性模板集合.读批次.校验出错中端. 添加

java数据库数据导入excel

data导出入excel中 controller: package com.longfor.hrssc.api.controller; import com.longfor.hrssc.api.model.BasicInformation; import com.longfor.hrssc.api.service.IBasicInformationService; import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.u