logo资料库

JAVA可选择列导出表格方法。.doc

第1页 / 共8页
第2页 / 共8页
第3页 / 共8页
第4页 / 共8页
第5页 / 共8页
第6页 / 共8页
第7页 / 共8页
第8页 / 共8页
资料共8页,全文预览结束
分类: JAVA2010-05-21 11:55168 人阅读评论(0)收藏举报 先上这个简捷导出的大功臣: Export2XLS.java [java] view plaincopyprint? 1.import java.io.File; 2.import java.io.IOException; 3.import java.util.ArrayList; 4.import java.util.List; 5.import jxl.Workbook; 6.import jxl.write.Label; 7.import jxl.write.WritableSheet; 8.import jxl.write.WritableWorkbook; 9.import jxl.write.WriteException; 10. public class Export2XLS { 11. /** 12. * @param fileName 文件名 13. * @param filepath 路径 14. * @param columnHeaders 表头 15. * @param rows 行数据 16. */ 17. public String CreateXLS(String fileName, String filepath, 18. List columnHeaders, List> rows) { 19. WritableWorkbook workbook = null; 20. WritableSheet sheet = null; 21. // 创建一个可写入的 excel 文件对象 22. String realPath = filepath + fileName; 23. try { 24. workbook = Workbook.createWorkbook(new File(realPath)); 25. } catch (IOException e1) { 26. e1.printStackTrace(); 27. } 28. try {
29. sheet = workbook.createSheet("sheet1", 0); 30. // 表头 31. for (int i = 0; i < columnHeaders.size(); i++) { 32. sheet.addCell(new Label(i, 0, columnHeaders.get(i))); 33. } 34. for (int i = 0; i < rows.size(); i++) { 35. List row = rows.get(i); 36. for (int j = 0; j < row.size(); j++) { 37. sheet.addCell(new Label(j, i + 1, row.get(j))); 38. } 39. } 40. // 写入信息 41. // 关闭 excel 表 42. 43. workbook.write(); 44. workbook.close(); 45. } catch (Exception e) { 46. try { 47. workbook.close(); 48. } catch (WriteException e1) { 49. e1.printStackTrace(); 50. } catch (IOException e1) { 51. e1.printStackTrace(); 52. } 53. } 54. return realPath; 55. } 56. public static void main(String[] args) { 57. String fileName = "testFile.xls"; 58. String filepath = "e://"; 59. ArrayList columns = new ArrayList(); 60. columns.add("01"); 61. columns.add("测试列 2"); 62. columns.add("测试列 3"); 63. ArrayList> rows = new ArrayList>();
64. for (int i = 0; i < 10; i++) { 65. List row = new ArrayList(); 66. for (int j = 0; j < 3; j++) { 67. if (j == 0) { 68. row.add("00" + i + j); 69. } else { 70. row.add("单元格" + i + "," + j); 71. } 72. 73. } 74. rows.add(row); 75. } 76. new Export2XLS().CreateXLS(fileName, filepath, columns, rows); 77. // new Export2XLS().append(fileName, filepath, rows); 78. } 79. } import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.List; import jxl.Workbook; import jxl.write.Label; import jxl.write.WritableSheet; import jxl.write.WritableWorkbook; import jxl.write.WriteException; public class Export2XLS { /** * @param fileName * @param filepath 路径 * @param columnHeaders 表头 * @param rows 行数据 */ public String CreateXLS(String fileName, String filepath, 文件名 List columnHeaders, List> rows) { 要实现导出功能 Action 类 OutBoundTaskAction.java [java] view plaincopyprint? 1.public String exportOutCallResult(){ 2.try { 3.columnNameAry = this.columnNameAry(columnNameStr);
4.String customerTableName = commonItemManager.getTaskById(taskId).getCustomerTableName(); //要导 出 Excel 的数据所在表名 5.Tools tool = new Tools(); 6.SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd"); 7.String filePath = tool.getRootTruePath()+"download/files/"; 8.fileName = "外呼结果明细列表"; 9.realExportPath = commonItemManager.exportOutCallResult(taskId,fileName,filePath,customer TableName, columnNameAry); 10. } catch (RuntimeException e) { 11. LOG.error("外呼结果明细导出异常:" + ExceptionUtils.getMessage(e)); 12. } 13. return SUCCESS; 14. } public String exportOutCallResult(){ try { columnNameAry = this.columnNameAry(columnNameStr); String customerTableName = commonItemManager.getTas Tools tool = new Tools(); SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM String filePath = tool.getRootTruePath()+"download/ fileName = "外呼结果明细列表"; realExportPath = commonItemManager.exportOutCallRes } catch (RuntimeException e) { LOG.error("外呼结果明细导出异常:" + ExceptionUtils.ge } return SUCCESS; } Manager 类 @Service("obCommonItemManager") public class CommonItemManager { [java] view plaincopyprint? 1.public String setSQLStr(String taskId,String tableName ,String[] columnNameAry){ 2.String sql = ""; 3.String str1= " SELECT c.cust_id 客户编号, " +
4."c.姓名 客户姓名, " + 5."c.固定电话 固定电话," + 6."c.移动电话 移动电话, " + 7."c.地址 地址, " + 8."m.phone 呼叫号码," + 9."dic_call.dic_cname 呼叫结果, " + 10. "dic_visit.dic_cname 回访结果," + 11. " DECODE (m.status,'0', '未开始','1', '执行中','2', '结束任务','3', '注销' ) 任务状 态," + 12. "EXEC_WORK_NO 执行工号," + 13. "to_char(CALL_TIME,'yyyy-dd:mm hh24:mi:ss') 执行时间, " + 14. "CUST_OPTION 客户意见 " ; 15. //"c.性别 性别, " + 16. if(columnNameAry.length>0){ //添加动态的列名 17. if(null!=columnNameAry[0]&&!("".equals(columnNameAry[0]))){ 18. for (int i =0;i
36. " WHERE m.last_his(+) = d.ID " + 37. " AND m.task_id = "+taskId+ 38. ") m " + 39. " WHERE c.cust_id = m.cust_id(+) AND dic_call.dic_id(+) = m.result_call " + 40. " AND dic_visit.dic_id(+) = m.result_visit "; 41. return sql = str1 +str2; 42. 43. } 44. 45. /** 46. * 导出外呼结果明细数据到 Excel 中 47. * @param taskId 48. * @param fileName 49. * @param filePath 50. * @param tableName 51. * @param columnNameAry 52. * @return 53. */ 54. public String exportOutCallResult(String taskId, String fileName, String filePath,String tableName ,String[] columnNameAry){ 55. Export2XLS export2XLS = new Export2XLS(); 56. String sql = setSQLStr(taskId, tableName , columnNameAry); 57. Integer resultCount = taskDAO.findCountBySql("select count(*) from ("+sql+")"); 58. List resultList = taskDAO.findBySql(sql, 0, 50000); 59. 60. List columns = new ArrayList(); 61. columns.add("客户编号"); 62. columns.add("客户姓名"); 63. columns.add("固定电话"); 64. columns.add("移动电话"); 65. columns.add("地址"); 66. columns.add("呼叫号码"); 67. columns.add("呼叫结果"); 68. columns.add("回访结果");
69. columns.add("任务状态"); 70. columns.add("执行工号"); 71. columns.add("执行时间"); 72. columns.add("客户意见"); 73. for(Object obj:columnNameAry){//添加动态列名 74. columns.add(obj.toString()); 75. } 76. 77. List> rows = new ArrayList>(); 78. for(Object obj:resultList){ 79. try{ 80. Object[] rowObj = (Object[])obj; 81. for(int i=0;i row = getRowMain(rowObj); 86. rows.add(row); 87. }catch (Exception e) { 88. e.printStackTrace(); 89. } 90. } 91. 92. return export2XLS.CreateXLS(fileName, filePath, columns, rows); 93. 94. } 95. 96. public List getRowMain(Object[] rowObj){ 97. List row = new ArrayList(); 98. for(int i=0;i
分享到:
收藏