java 后台poi导入导出Excel到数据库

public static void main(String[] args) throws IOException {  
        // 文件所在路径  
        String filePath = "C:\\Users\\Administrator\\Desktop\\1234.xls" ;  
        // 导入Excel  
        new uploadExcelAction().impExcel(filePath);  
//        // 导出Excel  
//        String expFilePath = "C:/testBook.xls" ;  
//        new uploadExcelAction().expExcel(expFilePath);  
    }  
    
     /** 
     * 导入Excel 
     * @param execelFile 
     */  
    public void impExcel(String filePath) throws FileNotFoundException, IOException{  
        // 构造 Workbook 对象,execelFile 是传入文件路径(获得Excel工作区)  
        Workbook book = null;
        FileInputStream path=new FileInputStream (filePath);
        try {  
            // Excel 2003获取方法  
            book = new HSSFWorkbook(path);  
        } catch (Exception ex) {  
            // Excel 2007获取方法  
             book = new XSSFWorkbook(path);  
        }  
          
        // 读取表格的第一个sheet页  
        Sheet sheet =  book.getSheetAt(0);  
        // 定义 row、cell  
        Row row;  
        String cell;  
        // 总共有多少行,从0开始  
        int totalRows = sheet.getLastRowNum() ;
//总共多少列
int totalCells = sheet.getRow(0).getLastCellNum();
// 循环输出表格中的内容,首先循环取出行,再根据行循环取出列 for (int i = 1; i <= totalRows; i++) { row = sheet.getRow(i); // 处理空行 if(row == null){ continue ; } for (int j = row.getFirstCellNum(); j < totalCells; j++) { // 处理空列 if(row.getCell(j) == null){ continue ; } // 通过 row.getCell(j).toString() 获取单元格内容 cell = row.getCell(j).toString(); System.out.print(cell + "\t"); } } } //导出 public void expExcel(String expFilePath){ OutputStream os = null ; Workbook book = null; try { // 输出流 os = new FileOutputStream(expFilePath); // 创建工作区(97-2003) book = new HSSFWorkbook(); // 创建第一个sheet页 Sheet sheet= book.createSheet("test"); // 生成第一行 Row row = sheet.createRow(0); // 给第一行的第一列赋值 row.createCell(0).setCellValue("column1"); // 给第一行的第二列赋值 row.createCell(1).setCellValue("column2"); // 写文件 book.write(os); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { // 关闭输出流 try { os.close(); } catch (IOException e) { e.printStackTrace(); } } }

 

posted @ 2016-04-21 10:06  没错就是那个小新  阅读(634)  评论(0编辑  收藏  举报