/*java poi 导入excle并解析
步骤
1.在页面导入excle文件进入action,将文件转换成InputStream
2.将InputStream的数据转化成HSSFWorkbook
POIFSFileSystem f = new POIFSFileSystem(input);
HSSFWorkbook wb = new HSSFWorkbook(f);
3.获取HSSFWorkbook的表,并将表中数据一行一行循环读出,分解每行每列
4.session.save(x);保存在数据库中
*/
//实例:导入excle
public Static void main(String[] args){
InputStream input = new FileInputStream(页面传入excle对象);
//从spring管理的sessionFactory中创建一个session
Session session = this.getHibernateTemplate().getSessionFactory().openSession();
//创建事务
Transaction tx = null;
//开启事务
tx = session.beginTransaction();
POIFSFileSystem f = new POIFSFileSystem(input);
//创建从输入流创建Workbook
HSSFWorkbook wb = new HSSFWorkbook(f);
//获取Workbook sheet
HSSFSheet sheet = wb.getSheetAt(0);
//迭代单元格
Iterator rows = sheet.rowIterator();
//跳过表头
rows.next();
while (rows.hasNext()) {
//获取行
HSSFRow row = (HSSFRow) rows.next();
//将行数据转化为Hj_CyExcel
//Hj_CyExcel 类专门存放行对应列数据
//这里和下面如何转换和保存对象,就不写代码了,应为每个情况都不一样
Hj_CyExcel hj_cy = ExcelReaderUtil.reader1Hj_Cy(row);
//将数据保存为需保存的对象--这里将对象假设成person对象
Person person = this.saveExcel(null, hj_cy, null,
null, null, null);
//保存入数据库
try {
session.save(person);
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
//关闭事务
tx.commit();
finally {
if (session != null) {
try {
session.close();
} catch (Exception e) {
}
}
}
}
poi导入excle并解析
最新推荐文章于 2024-07-26 10:35:42 发布