保存查询结果到Excel表格中
下面是一个方法,格式到这里就乱了,建议拷贝下去,在eclipse里格式化一下再看:
private static void saveResult() { try { String filePath = GameManager.getNewFilePath(); File curFile = new File(filePath); curFile.createNewFile(); WritableWorkbook wwb = Workbook.createWorkbook(curFile);// 新建 //创建工作表 WritableSheet sheet = wwb.createSheet("Sheet1",0); Map<String, Game> map = GameManager.getGame(); // 获得cell具体类型值的方式 Iterator<String> keyset = map.keySet().iterator(); Label labelCF= null; for(int i=2;i<5;i++){ labelCF =new Label(i, 1, String.valueOf(i-1)); sheet.addCell(labelCF); } int row = 1; Label labelTemp= null; while (keyset.hasNext()) { Game tempGame = map.get(keyset.next());// System.out.println("业务名称:--" + tempGame.getGameName()+ "总订购量:--" + tempGame.getGameTotal()); Iterator<String> ies = tempGame.getSeriesMap().keySet() .iterator(); while (ies.hasNext()) { String series = ies.next(); ++row;// 添加标签文本 labelTemp=new Label(1,row , tempGame.getGameName()+"("+series+")");//创建写入位置和内容 sheet.addCell(labelTemp);//将Label写入sheet中 labelTemp=new Label(2,row , ""+tempGame.getSeriesMap().get(series));//创建写入位置和内容 sheet.addCell(labelTemp);//将Label写入sheet中 } //添加新行 ++row; labelTemp=new Label(2,row , String.valueOf(tempGame.getGameTotal()));//创建写入位置和内容 sheet.addCell(labelTemp);//将Label写入sheet中 } ++row; labelTemp=new Label(1,row , "合计");//创建写入位置和内容 sheet.addCell(labelTemp);//将Label写入sheet中 labelTemp=new Label(2,row , String.valueOf(GameManager.total));//创建写入位置和内容 sheet.addCell(labelTemp);//将Label写入sheet中 // 判断单元格的类型,做出相应的转换// Label label = (Label) wc;// label.setString("The value has been modified"); wwb.write(); wwb.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (WriteException e) { // TODO Auto-generated catch block e.printStackTrace(); }}