Android 数据导出之Excle jxl.jar

来源:互联网 发布:首届中国网络视听大会 编辑:程序博客网 时间:2024/05/22 02:13

使用jxl导出excle数据

首先项目得导入jxl.jar

以下是导出方法:

[java] view plaincopy
  1. // 导出数据  
  2.     public void export(ArrayList<Account> list) {  
  3.         Calendar c = Calendar.getInstance();  
  4.         String filename = Integer.toString(c.get(Calendar.YEAR))  
  5.                 + Integer.toString(c.get(Calendar.MONTH + 1))  
  6.                 + Integer.toString(c.get(Calendar.DAY_OF_MONTH));  
  7.         int random = (int) (Math.random() * 1000);  
  8.         WritableWorkbook wwb = null;  
  9.         try {  
  10.             // 首先要使用Workbook类的工厂方法创建一个可写入的工作薄(Workbook)对象  
  11.             wwb = Workbook.createWorkbook(new File(Environment  
  12.                     .getExternalStorageDirectory()  
  13.                     + "/"  
  14.                     + filename  
  15.                     + "_"  
  16.                     + random + ".xls"));  
  17.         } catch (IOException e) {  
  18.             e.printStackTrace();  
  19.         }  
  20.         if (wwb != null) {  
  21.             // 创建一个可写入的工作表  
  22.             // Workbook的createSheet方法有两个参数,第一个是工作表的名称,第二个是工作表在工作薄中的位置  
  23.             WritableSheet ws = wwb.createSheet("工作表名称"0);  
  24.   
  25.             // 下面开始添加单元格  
  26.             String[] topic = { "序号""金额""项目""时间""支付方式""商家/支付方""成员",  
  27.                     "备注""类别" };  
  28.             for (int i = 0; i < topic.length; i++) {  
  29.                 Label labelC = new Label(i, 0, topic[i]);  
  30.                 try {  
  31.                     // 将生成的单元格添加到工作表中  
  32.                     ws.addCell(labelC);  
  33.                 } catch (RowsExceededException e) {  
  34.                     e.printStackTrace();  
  35.                 } catch (WriteException e) {  
  36.                     e.printStackTrace();  
  37.                 }  
  38.             }  
  39.             Account account;  
  40.             ArrayList<String> li;  
  41.             for (int j = 0; j < list.size(); j++) {  
  42.                 account = list.get(j);  
  43.                 li = new ArrayList<String>();  
  44.                 li.add(Integer.toString(account.get_id()));  
  45.                 li.add(Float.toString(account.getMoney()));  
  46.                 li.add(account.getCategory().toString());  
  47.                 li.add(account.getDatetime().toString());  
  48.                 li.add(account.getMethod().toString());  
  49.                 li.add(account.getMerchant().toString());  
  50.                 li.add(account.getMumber().toString());  
  51.                 li.add(account.getDescript().toString());  
  52.                 li.add(account.getWhat().toString());  
  53.                 System.out.println(li.size());  
  54.                 int k = 0;  
  55.                 for (String l : li) {  
  56.                     Label labelC = new Label(k, j + 1, l);  
  57.                     k++;  
  58.                     try {  
  59.                         // 将生成的单元格添加到工作表中  
  60.                         ws.addCell(labelC);  
  61.                     } catch (RowsExceededException e) {  
  62.                         e.printStackTrace();  
  63.                     } catch (WriteException e) {  
  64.                         e.printStackTrace();  
  65.                     }  
  66.                 }  
  67.                 li = null;  
  68.             }  
  69.         }  
  70.         try {  
  71.             // 从内存中写入文件中  
  72.             wwb.write();  
  73.             // 关闭资源,释放内存  
  74.             wwb.close();  
  75.         } catch (IOException e) {  
  76.             e.printStackTrace();  
  77.         } catch (WriteException e) {  
  78.             e.printStackTrace();  
  79.         }  
  80.     }  

使用该方法能够对数据进行导出。 

0 0
原创粉丝点击