Android 数据导出之Excle jxl.jar

来源:互联网 发布:java path 编辑:程序博客网 时间:2024/05/22 03:39

很久没写Android代码了。

使用jxl导出excle数据

首先项目得导入jxl.jar

以下是导出方法:

// 导出数据public void export(ArrayList<Account> list) {Calendar c = Calendar.getInstance();String filename = Integer.toString(c.get(Calendar.YEAR))+ Integer.toString(c.get(Calendar.MONTH + 1))+ Integer.toString(c.get(Calendar.DAY_OF_MONTH));int random = (int) (Math.random() * 1000);WritableWorkbook wwb = null;try {// 首先要使用Workbook类的工厂方法创建一个可写入的工作薄(Workbook)对象wwb = Workbook.createWorkbook(new File(Environment.getExternalStorageDirectory()+ "/"+ filename+ "_"+ random + ".xls"));} catch (IOException e) {e.printStackTrace();}if (wwb != null) {// 创建一个可写入的工作表// Workbook的createSheet方法有两个参数,第一个是工作表的名称,第二个是工作表在工作薄中的位置WritableSheet ws = wwb.createSheet("工作表名称", 0);// 下面开始添加单元格String[] topic = { "序号", "金额", "项目", "时间", "支付方式", "商家/支付方", "成员","备注", "类别" };for (int i = 0; i < topic.length; i++) {Label labelC = new Label(i, 0, topic[i]);try {// 将生成的单元格添加到工作表中ws.addCell(labelC);} catch (RowsExceededException e) {e.printStackTrace();} catch (WriteException e) {e.printStackTrace();}}Account account;ArrayList<String> li;for (int j = 0; j < list.size(); j++) {account = list.get(j);li = new ArrayList<String>();li.add(Integer.toString(account.get_id()));li.add(Float.toString(account.getMoney()));li.add(account.getCategory().toString());li.add(account.getDatetime().toString());li.add(account.getMethod().toString());li.add(account.getMerchant().toString());li.add(account.getMumber().toString());li.add(account.getDescript().toString());li.add(account.getWhat().toString());System.out.println(li.size());int k = 0;for (String l : li) {Label labelC = new Label(k, j + 1, l);k++;try {// 将生成的单元格添加到工作表中ws.addCell(labelC);} catch (RowsExceededException e) {e.printStackTrace();} catch (WriteException e) {e.printStackTrace();}}li = null;}}try {// 从内存中写入文件中wwb.write();// 关闭资源,释放内存wwb.close();} catch (IOException e) {e.printStackTrace();} catch (WriteException e) {e.printStackTrace();}}

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

 

原创粉丝点击