poi 输出Excel显示内容
2015-12-04 12:12
459 查看
在业务系统中多少回接触到Excel解析。在java开发平台下选择 Apache POI是一个非常明智的选择,POI提供非常完善API来读取或写入Microsoft Office Excel。
目前对导入的数据都会进行二次加工,我们开发模式就是先把Excel中的内容直接原样导入数据库对应的一张数据表中,然后再进行二次加工。什么是原样,那就是我们在excle看到是什么样的,导入的数据就是什么样的,那怎样实现呢?
首先考虑到,exce另存为csv,然后在解析csv就可以,excel另存为csv后,如下
View Code
2015-12-04
目前对导入的数据都会进行二次加工,我们开发模式就是先把Excel中的内容直接原样导入数据库对应的一张数据表中,然后再进行二次加工。什么是原样,那就是我们在excle看到是什么样的,导入的数据就是什么样的,那怎样实现呢?
首先考虑到,exce另存为csv,然后在解析csv就可以,excel另存为csv后,如下
private ArrayList<String[]> GetExcel(String filename) throws FileNotFoundException, IOException, Exception { File f = new File(filename); ArrayList data = new ArrayList(); if (f.exists()) { InputStream fis = new FileInputStream(f); Workbook wb = WorkbookFactory.create(fis); Sheet fst = wb.getSheetAt(0); int rowcount = fst.getLastRowNum(); Row headrow = fst.getRow(0); int colcount = headrow.getLastCellNum(); for (int ri = 0; ri <= rowcount; ri++) { System.out.println(""); System.out.println("第" + ri + "行数据"); String[] colValues = new String[colcount]; Row row = fst.getRow(ri); for (int i = 0; i < colcount; i++) { Cell cell = row.getCell(i); String value = ""; if (cell != null) { DataFormatter df = new DataFormatter(); if (cell.getCellType() == cell.CELL_TYPE_FORMULA) { FormulaEvaluator formulaEval = wb.getCreationHelper().createFormulaEvaluator(); value = df.formatCellValue(cell, formulaEval); } else { value = df.formatCellValue(cell); } } colValues[i] = value; System.out.print(colValues[i] + "--"); } data.add(colValues); } } f.delete(); return data; }
View Code
2015-12-04
相关文章推荐
- android view移动 两种坐标的疑问
- 8.MySQL备份恢复
- 学自慕课网:数据库设计(三)
- C++ std::vector介绍
- TabLayout我遇到的一些问题和异常
- 关于出现VirtualAlloc pointer is null导致git崩溃的解决办法
- 得到用户当前运行的进程信息
- Spring编程式事务管理和声明式事务管理
- TCP、UDP、HTTP、SOCKET之间的区别
- 263. Ugly Number
- 如何画数据库ER图
- 什么是 metadata (元数据)
- 深度优先搜索 之 CODE[VS] 1018 单词接龙 2000年NOIP全国联赛普及组NOIP全国联赛提高组
- 得到用户安装的app信息
- MFC设置对话框大小
- Android源码--打开系统联系人界面并获取点击
- python 修改默认编码方式
- Jquery封装ajax
- vim的使用
- 学自慕课网:数据库设计(二)