Android 数据导出之Excle jxl.jar

这篇博客介绍了如何在长时间未接触Android开发后,通过引入jxl.jar库来实现Android应用中数据的导出到Excel文件的功能。详细阐述了导入库和导出数据的方法步骤。
摘要由CSDN通过智能技术生成

很久没写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();
		}
	}

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

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值