Java版将EXCEL表数据导入到数据库中
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表数据导入到数据库中 的全部内容, 来源链接: utcz.com/z/394117.html