1.采用第三方控件JXL实现
-
-
try { //实例化一个工作簿对象 Workbook workBook=Workbook.getWorkbook(new File("F://qzlx.xls")); //获取该工作表中的第一个工作表 Sheet sheet=workBook.getSheet(0); //获取该工作表的行数,以供下面循环使用 int rowSize=sheet.getRows(); for(int i=0;i<rowSize;i++) { //编号 String id=sheet.getCell(0,i).getContents(); //转来单位及文号 String turn_unit=sheet.getCell(1,i).getContents(); //来信人姓名 String reg_name=sheet.getCell(2,i).getContents(); //来信人单位或住址 String reg_unit=sheet.getCell(3,i).getContents(); //来信内容 String reg_content=sheet.getCell(4,i).getContents(); //来信日期 Date reg_time = java.sql.Date.valueOf(sheet.getCell(5,i).getContents()); //信访事项发生地或单位 String reg_eventUnit=sheet.getCell(6,i).getContents(); //处理情况 String do_case=sheet.getCell(7,i).getContents(); //处理日期 Date do_time=java.sql.Date.valueOf(sheet.getCell(8,i).getContents()); //问题归类 String problem_type=sheet.getCell(9,i).getContents(); //问题所属系统 String problem_system=sheet.getCell(10,i).getContents(); //督办时间及文号 String wenhao=sheet.getCell(11,i).getContents(); //经办人 String processor=sheet.getCell(12,i).getContents(); //备注 String remark=sheet.getCell(13,i).getContents(); LcTOldRegServiceImpl regService=new LcTOldRegServiceImpl(); LctOldReg reg=new LctOldReg(id,turn_unit,reg_name,reg_unit,reg_time,do_time,wenhao,problem_system,problem_type,reg_eventUnit,remark,reg_content,processor,do_case); //执行保存数据到数据库语句……. regService.add_qzlx(reg); System.out.print("已成功导入第"+id+"条纪录"); } return mapping.findForward("import_success"); } catch(Exception ex) { System.out.print(ex.getMessage()); return mapping.findForward("import_faile"); }
2.添加POI jar包到项目的lib目录下
public class TestExcel { //记录类的输出信息 static Log log = LogFactory.getLog(TestExcel.class); //获取Excel文档的路径 public static String filePath = "D://excel.xls"; public static void main(String[] args) { try { // 创建对Excel工作簿文件的引用 HSSFWorkbook wookbook = new HSSFWorkbook(new FileInputStream(filePath)); // 在Excel文档中,第一张工作表的缺省索引是0 // 其语句为:HSSFSheet sheet = workbook.getSheetAt(0); HSSFSheet sheet = wookbook.getSheet("Sheet1"); //获取到Excel文件中的所有行数 int rows = sheet.getPhysicalNumberOfRows(); //遍历行 for (int i = 0; i < rows; i++) { // 读取左上端单元格 HSSFRow row = sheet.getRow(i); // 行不为空 if (row != null) { //获取到Excel文件中的所有的列 int cells = row.getPhysicalNumberOfCells(); String value = ""; //遍历列 for (int j = 0; j < cells; j++) { //获取到列的值 HSSFCell cell = row.getCell(j); if (cell != null) { switch (cell.getCellType()) { case HSSFCell.CELL_TYPE_FORMULA: break; case HSSFCell.CELL_TYPE_NUMERIC: value += cell.getNumericCellValue() + ","; break; case HSSFCell.CELL_TYPE_STRING: value += cell.getStringCellValue() + ","; break; default: value += "0"; break; } } } // 将数据插入到mysql数据库中 String[] val = value.split(","); TestEntity entity = new TestEntity(); entity.setNum1(val[0]); entity.setNum2(val[1]); entity.setNum3(val[2]); entity.setNum4(val[3]); entity.setNum5(val[4]); entity.setNum6(val[5]); TestMethod method = new TestMethod(); method.Add(entity); } } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }
-
Java版将EXCEL表数据导入到数据库中
时间: 2024-10-29 19:06:10