poi 获取excel数据 导入数据库

MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
		Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
		for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
			MultipartFile file = entity.getValue();// 获取上传文件对象
			ImportParams params = new ImportParams();
			params.setHeadRows(1);
			params.setNeedSave(false);
			try {
				/*System.out.println(file.getInputStream());
				List<CasHistoryDateEntity> listCasHistoryDateEntitys = ExcelImportUtil.importExcel(file.getInputStream(),CasHistoryDateEntity.class,params);
				listCasHistoryDateEntitys.remove(0);
				for (CasHistoryDateEntity casHistoryDate : listCasHistoryDateEntitys) {*/
				//casHistoryDateService.save(casHistoryDate);
				// 构造 Workbook 对象,execelFile 是传入文件路径(获得Excel工作区)
				MultipartFile file1 = file;
				CommonsMultipartFile cf = (CommonsMultipartFile) file1;
				DiskFileItem fi = (DiskFileItem) cf.getFileItem();
				File file2 = fi.getStoreLocation();
				Workbook book = null;
				//book = new XSSFWorkbook(new FileInputStream(file2));
				try {
					// Excel 2007获取方法
					book = new XSSFWorkbook(new FileInputStream(file2));
				} catch (Exception ex) {
					// Excel 2003获取方法
					book = new HSSFWorkbook(new FileInputStream(file2));
				}
				// 读取表格的第一个sheet页
				Sheet sheet = book.getSheetAt(0);
				// 定义 row、cell
				Row row;
				String cell;
				// 总共有多少行,从0开始
				int totalRows = sheet.getLastRowNum();
				// 循环输出表格中的内容,首先循环取出行,再根据行循环取出列
				for (int i = 1; i <= totalRows; i++) {
					CasHistoryDateEntity casHistoryDateEntity = new CasHistoryDateEntity();
					Map<String, Object> map = new HashedMap();
					row = sheet.getRow(i);
					// 处理空行
					if (row == null) {
						continue;
					}
					// 总共有多少列,从0开始
					int totalCells = row.getLastCellNum();
					for (int f = row.getFirstCellNum(); f < totalCells; f++) {
						// 处理空列
						if (row.getCell(f) == null) {
							continue;
						}
						// 通过 row.getCell(j).toString() 获取单元格内容
						SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
						cell = row.getCell(f).toString();
						if (row.getRowNum() > 1) {
							if (1 == f) {
								casHistoryDateEntity.setXmmc(cell);
							}
							if (2 == f) {
								casHistoryDateEntity.setQtys(cell);
							}
							if (3 == f) {
								casHistoryDateEntity.setZzdw(cell);
							}
							if (4 == f) {
								casHistoryDateEntity.setFzcs(cell);
							}
							if (5 == f) {
								casHistoryDateEntity.setLxsjj(cell);
							}
							if (6 == f) {
								casHistoryDateEntity.setLxshc(cell);
							}
							if (7 == f) {
								casHistoryDateEntity.setLxsjn(cell);
							}
							if (8 == f) {
								casHistoryDateEntity.setWyh(cell);
							}
							if (9 == f) {
								casHistoryDateEntity.setXmbh(cell);
							}
							if (10 == f) {
								casHistoryDateEntity.setJf(cell);
							}
							if (11 == f) {
								casHistoryDateEntity.setJtsjj(cell);
							}
							if (12 == f) {
								casHistoryDateEntity.setJtsjc(cell);
							}
							if (13 == f) {
								casHistoryDateEntity.setJtsjn(cell);
							}
							if (14 == f) {
								casHistoryDateEntity.setMqzt(cell);
							}
							if (15 == f) {
								casHistoryDateEntity.setZxbg(cell);
							}
							if (16 == f) {
								casHistoryDateEntity.setXmlxr(cell);
							}
							if (17 == f) {
								casHistoryDateEntity.setLxfs(cell);
							}
							if (18 == f) {
								casHistoryDateEntity.setFzr(cell);
							}
							if (19 == f) {
								casHistoryDateEntity.setBz(cell);
							}
							systemService.save(casHistoryDateEntity);
						}
						System.out.print(cell + "\t");
					}
					//casHistoryDateService.save(casHistoryDate);
					//casHistoryDateService.save(casHistoryDate);
					System.out.println("");
				}
				j.setMsg("文件导入成功!");
				/*}*/
			} catch (Exception e) {
				j.setMsg("文件导入失败!");
				logger.error(ExceptionUtil.getExceptionMessage(e));
			} finally {
				try {
					file.getInputStream().close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
		}

  

时间: 2024-10-06 18:19:26

poi 获取excel数据 导入数据库的相关文章

poi实现excel数据导入数据库

1.导入相应的jar包 2.创建上传文件的表单,注意method="post" enctype="multipart/form-data" 3.主要代码实现 a.controller层 获得文件输入流,调用service方法 b.批处理sql语句书写

[Asp.net]常见数据导入Excel,Excel数据导入数据库解决方案,总有一款适合你!

引言 项目中常用到将数据导入Excel,将Excel中的数据导入数据库的功能,曾经也查找过相关的内容,将曾经用过的方案总结一下. 方案一 NPOI NPOI 是 POI 项目的 .NET 版本.POI是一个开源的Java读写Excel.WORD等微软OLE2组件文档的项目.使用 NPOI 你就可以在没有安装 Office 或者相应环境的机器上对 WORD/EXCEL 文档进行读写.NPOI是构建在POI 3.x版本之上的,它可以在没有安装Office的情况下对Word/Excel文档进行读写操作

EXCEL数据导入数据库实例(NPOI)

Default.aspx 页面代码: 引用了:    <script src="../../js/jquery.easyui.min.js" type="text/javascript"></script> <form id="fileForm" runat="server" enctype="multipart/form-data" method="post&quo

excel数据导入数据库

1 using (FileStream fs = File.OpenRead(@"D:\成绩管理\名单.xls")) 2 { 3 IWorkbook wk = new HSSFWorkbook(fs);//根据文件流创建workbook 4 if (wk.NumberOfSheets > 0) 5 { 6 ISheet sheet = wk.GetSheetAt(0);//创建工作表 7 //学号 姓名 性别 出生年月 专业 8 for (int r = 1; r <= s

PHPExcel将Excel数据导入数据库

1 <?php 2 //PHPExcel读取导入Excel数据到数据库(2003,2007通用)使用方法: 3 //先用excel2array()方法将excel表中的数据存储到数组,在从遍历二维数组将数据保存进数据库 4 require_once "./PHPExcel.class.php"; 5 require_once "./PHPExcel/Cell/DataType.php"; 6 require_once "./PHPExcel/IOFa

C#将Excel数据导入数据库(MySQL或Sql Server)

最近一直很忙,很久没写博客了.今天给大家讲解一下如何用C#将Excel数据导入Excel,同时在文章最后附上如何用sqlserver和mysql工具导入数据. 导入过程大致分为两步: 1.将excel数据导入到DataSet中; 2.将DataSet里面的数据遍历插入到对应的数据库 一.将excel数据导入到DataSet中 需添加引用using System.Data; using System.Data.OleDb; public static DataSet ReadExcel(strin

POI 读取Excel文件,将Excel数据导入数据库

/** * 读取Excel单元格所显示的字符串(显示什么就返回什么) * 创建人:minlorry * 创建日期:2015-07-31 * 更新日期:2015-07-31 * 更新说明:生硬地处理了数值单元格的处理,日期单元格未作处理. * @param cell Excel单元格 * @return String 单元格显示的字符串 */ public static String getStringValue(Cell cell) { String stringValue = "";

ASP.NET Excel数据导入数据库

http://www.cnblogs.com/xiaopin/archive/2011/03/31/2001199.html  原网址,这个写的特别好:    其他实现方式参考:http://blog.csdn.net/lee576/archive/2011/03/02/6217811.aspx protected void btnImport_Click(object sender, EventArgs e) { if (FileUpload1.HasFile == false)//HasFi

ASP.NET Excel数据导入数据库---2

protected void btnImport_Click(object sender, EventArgs e) { if (FileUpload1.HasFile == false)//HasFile用来检查FileUpload是否有指定文件 { Response.Write("<script>alert('请您选择Excel文件')</script> "); return;//当无文件时,返回 } string IsXls = System.IO.Pat