首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java相关 >

poi设置解决思路

2012-06-06 
poi设置我用java和poi编写了导出数据为excel表的,但不懂如何设置poi的保存路径,请求大虾们帮助。Java codet

poi设置
我用java和poi编写了导出数据为excel表的,但不懂如何设置poi的保存路径,请求大虾们帮助。

Java code
try        {            Class.forName(driverName);        }        catch(ClassNotFoundException e)        {            System.out.println("加载驱动程序失败!");        }        try        {            con=DriverManager.getConnection(dbURL,userName,userPwd);//            Statement sql=con.createStatement();        }        catch(Exception e)        {            System.out.println("初始化数据库连接异常..." + e.getMessage());        }    }    public void execExport()    {//        System.out.println();        System.out.println("开始导出数据库......");        try        {            this.exportTable("1","");            this.exportTable("2","" );        }        catch (Exception e)        {            System.out.println("检索库中所有表时异常..." + e.getMessage());        }    }    public void exportTable(String page,String sql)    {        System.out.println("正在导出表:pinspect");        try        {            Statement selectTable = con.createStatement();            sql="select * from '"+sjk.toString()+"'";            ResultSet rset = selectTable.executeQuery(sql);            this.p = page;            this.writeTable(rset, "客户信息"+page+".xls");        }        catch (Exception e)        {            System.out.println("导出表时异常..." + e.getMessage());        }    }     private void writeTable(ResultSet rs, String xlsName)     {         try         {             HSSFWorkbook workbook = new HSSFWorkbook();             HSSFSheet sheet = workbook.createSheet();             // workbook.setSheetName(0,xlsName,HSSFWorkbook.ENCODING_UTF_16);             workbook.setSheetName(0, "分页" + String.valueOf(0));//                     (short) HSSFWorkbook.ENCODING_UTF_16);             HSSFRow row = sheet.createRow((short) 0);             HSSFCell cell = null;             ResultSetMetaData md = rs.getMetaData();             // 写字段             int nColumn = md.getColumnCount();             for (int i = 1; i <= nColumn; i++)             {                 cell = row.createCell((short) (i - 1));                 cell.setCellType(HSSFCell.CELL_TYPE_STRING);//                 cell.setEncoding(HSSFCell.ENCODING_UTF_16);                 cell.setCellValue(md.getColumnLabel(i)+"您好");                 switch (i)                 {                     case 1 :cell.setCellValue("请求的编号");                     break;                     case 2 :cell.setCellValue("当前请求的执行方法数量");                     break;                     case 3 :cell.setCellValue("当前请求的执行方法总时间");                     break;                     case 4 :cell.setCellValue("当前请求的执行方法平均时间");                     break;                 }             }             // 写记录             int iRow = 1;             String uuidName = null;             while (rs.next())             {                 row = sheet.createRow((short) iRow);                 for (int j = 1; j <= nColumn; j++)                 {                     cell = row.createCell((short) (j - 1));                     cell.setCellType(HSSFCell.CELL_TYPE_STRING);//                     cell.setEncoding(HSSFCell.ENCODING_UTF_16);                     String val = null;                     if(this.p.equals("1"))                     {                         if(j ==1)                         {                             if(rs.getObject(j).toString().equals(uuidName))                             {                                 val = " ";                             }                             else                             {                                 uuidName =   rs.getObject(j).toString();                                 val = uuidName;                             }                         }                         else if(j == 2)                         {                             val = rs.getObject(j).toString().split("classes/")[1];                         }                         else                         {                             val = rs.getObject(j).toString();                         }                     }else if(j == 1)                     {                         val = rs.getObject(j).toString().split("classes/")[1];                     }                     else                     {                         val = rs.getObject(j).toString();                     }                     if (val == null)                     {                         cell.setCellValue("NULL");                     }                     else                     {                         cell.setCellValue(val);                     }                 }                 iRow++;             }             // 保存文件             FileOutputStream fOut = new FileOutputStream(xlsName);             workbook.write(fOut);             fOut.flush();             fOut.close();             System.out.println("导出数据完成!");         }         catch (Exception e)         {             System.out.println("写表时异常..." + e.getMessage());         }     } 



[解决办法]
你这个 xlsName 变量不是路径么
[解决办法]
文件生成、路径保存问题与POI无关,是java IO问题;
你要的效果是……?
[解决办法]
保存路径?你是要保存到服务器上?
你在服务器新建一个文件夹,生成文件的时候,在该文件夹下生成不就好了么。
如果提供下载的话,给用户一个超链接好了。
[解决办法]
探讨

形同软件安装弹出一个选择安装路径的一个路径选择窗口

热点排行