struts2结合poi-3.7实现excel文件数据导入
来源:互联网 发布:socket网络通信流程图 编辑:程序博客网 时间:2024/05/22 17:49
我们也可能会实现这样的功能,将excel中的数据导入到数据库中,同样可以实现,所需的jar包以及相关文档参见我的前一篇博客:struts2结合poi-3.7实现将数据导出为excel,环境变量和框架都搭建好了,那么我们就开始吧,同样和struts2实现文件上传的方式差不多,只不过在读取到excel后,poi对excel文件有了自己的处理方式!
1、页面jsp页面:
<body> <form action="<%=basePath%>uploadExcel.do" method="post" enctype="multipart/form-data"> <!-- name名称和Action中File对象的取名要一样哦 --> <input type="file" name="excelFile"/><input type="submit" value="导入数据"/> </form> </body>
2、编写我们的用来封装接收处理的excel的bean类文件:ExcelWorkSheet
package com.repair.query.action;import java.util.ArrayList;import java.util.List;/** * 处理excel导入bean类 * @author Administrator * * @param <T> */public class ExcelWorkSheet<T> { private String sheetName; private List<T> data = new ArrayList<T>(); //数据行 private List<String> columns; //列名 public String getSheetName() {return sheetName;}public void setSheetName(String sheetName) {this.sheetName = sheetName;}public List<T> getData() {return data;}public void setData(List<T> data) {this.data = data;}public List<String> getColumns() {return columns;}public void setColumns(List<String> columns) {this.columns = columns;}}
3、编写我们处理的action类:
package com.repair.query.action;import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStream;import java.util.ArrayList;import java.util.Iterator;import java.util.List;import org.apache.poi.hssf.usermodel.HSSFWorkbook;import org.apache.poi.ss.usermodel.Cell;import org.apache.poi.ss.usermodel.Row;import org.apache.poi.ss.usermodel.Sheet;import org.apache.poi.ss.usermodel.Workbook;import org.apache.poi.xssf.usermodel.XSSFWorkbook;import com.repair.common.pojo.JCZXFixRec;/** * 导入excel数据 * @author Administrator * */public class UploadExcelAction {private File excelFile;//与jsp页面的file标签的name属性一样private String excelFileFileName;//File对象的名称+FileName,一定要这样写,不然名称获取不到private ExcelWorkSheet<JCZXFixRec> excelWorkSheet;//将数据记录封装为我们需要的对象public String execute() throws Exception{Workbook workBook=createWorkbook(new FileInputStream(excelFile));Sheet sheet=workBook.getSheetAt(0);//得到第一个sheetexcelWorkSheet=new ExcelWorkSheet<JCZXFixRec>();Row firstRow=sheet.getRow(0);//得到第一行,也就是列名Iterator<Cell> iterator=firstRow.cellIterator();//得到第一行的一个迭代器List<String> cellNames=new ArrayList<String>();//将列名取出来while(iterator.hasNext()){cellNames.add(iterator.next().getStringCellValue());}excelWorkSheet.setColumns(cellNames);JCZXFixRec jczxFixRec=null;//遍历各列数据,并将其取出来放到excelWorkSheet中for(int i=1;i<=sheet.getLastRowNum();i++){Row row=sheet.getRow(i);jczxFixRec=new JCZXFixRec();jczxFixRec.setUnitName(row.getCell(0).getStringCellValue());jczxFixRec.setItemName(row.getCell(1).getStringCellValue());jczxFixRec.setFixSituation(row.getCell(3).getStringCellValue());excelWorkSheet.getData().add(jczxFixRec);}for(int j=0;j<excelWorkSheet.getData().size();j++){JCZXFixRec rec=excelWorkSheet.getData().get(j);System.out.println(rec.getItemName());//或者插入到数据库中}return "success";}//判断文件类型创建Workbook对象 public Workbook createWorkbook(InputStream is) throws IOException{ if(excelFileFileName.toLowerCase().endsWith("xls")){ return new HSSFWorkbook(is); } if(excelFileFileName.toLowerCase().endsWith("xlsx")){ return new XSSFWorkbook(is); } return null; }public File getExcelFile() {return excelFile;}public void setExcelFile(File excelFile) {this.excelFile = excelFile;}public String getExcelFileFileName() {return excelFileFileName;}public void setExcelFileFileName(String excelFileFileName) {this.excelFileFileName = excelFileFileName;}public ExcelWorkSheet<JCZXFixRec> getExcelWorkSheet() {return excelWorkSheet;}public void setExcelWorkSheet(ExcelWorkSheet<JCZXFixRec> excelWorkSheet) {this.excelWorkSheet = excelWorkSheet;}}
示列中只是将excel文件中的数据取出来,然后将其打印出来了,要执行插入到数据库,我们可以编写我们处理的dao类,将其插入到数据库中即可,这样我们的数据就轻松的从excel文件中导入到数据库里面了,大家可以尝试一下!
- struts2结合poi-3.7实现excel文件数据导入
- struts2结合poi-3.7实现数据导出为excel
- struts2结合poi-3.7实现数据导出为excel修订版
- struts2中使用poi导入excel数据
- Java 使用poi导入excel,结合xml文件进行数据验证的例子
- 使用POI导入Excel文件数据
- struts2结合poi导出excel
- Struts2.18 Poi-3.7 Excel 导入导出
- Struts2.18 Poi-3.7 Excel 导入导出 .
- Struts2.18 Poi-3.7 Excel 导入导出 .
- Struts2.18 Poi-3.7 Excel 导入导出
- Apache POI实现数据的Excel导入
- struts2+poi实现excel文件的导出
- struts2+poi实现导出Excel文件
- Struts2+poi实现Excel文件导出
- POI数据导入Excel
- poi导入excel文件
- POI实现excel导入
- bsh.jar的使用
- 判断客户端是否支持cookie
- 如何完全彻底的卸载Oracle
- 【xinfanqie】笔者支招:使用了USB3.0扩展卡却没有加速怎么办
- SQLServer收缩日志及数据库文件【xiame】
- struts2结合poi-3.7实现excel文件数据导入
- linux网卡bond的几种模式
- 双机mount数据库出现ORA-00600[kccsbck_first]
- 图片展现形式的思考
- 设置grub2密码
- hdu3746(KMP)
- 设计模式六大原则:开闭原则
- Genero前世今生
- 【热门主题:动漫进击巨人xp主题】