Android 从资源文件中解析Excel

本文介绍如何使用Java解析Excel文件,提取经纬度数据,并将数据存储为LocationPoint对象。通过BaseAdapter与ListView实现数据展示,展示了100条数据的运行效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、准备一个excel文件,本文解析对象是一个经纬度数据,文件是 : res>raw>locations.xls   ,如图。




2、解析excel 核心代码:

<pre name="code" class="java">	public static List<LocationPoint> parseExcel(InputStream in) {
		List<LocationPoint> list = new ArrayList<LocationPoint>();
		Workbook workbook = null;
		try {
			try {
				workbook = Workbook.getWorkbook(in);
			} catch (Exception e) {
				e.printStackTrace();
			}
			Sheet sheet = workbook.getSheet(0);
			//得到行数
			//int columnCount = sheet.getColumns();
			//得到列数
			int rowCount = sheet.getRows();
			for (int j = 1; j < rowCount; j++) {
				// getCell(列,行);
				int id = (int) ((NumberCell) sheet.getCell(0, j)).getValue();
				String date = sheet.getCell(1, j).getContents();
				double lon = ((NumberCell) sheet.getCell(2, j)).getValue();
				double lat = ((NumberCell) sheet.getCell(3, j)).getValue();

				LocationPoint point = new LocationPoint();
				point.setLongitude(lon);
				point.setLatitude(lat);
				point.setId(id);
				point.setLocateTime(date);
				
				list.add(point);
			}
		} catch (Exception e) {
			e.printStackTrace();
		}finally{
			try {
				workbook.close();
				in.close();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}

		return list;
	}


 

就本demo,解析的时候注意是从第一行开始解析的(第0行是名称),所以for循环的j初始为1。还要在finally关闭相关的资源。


3、运行效果,如图。




  Demo 主要是 BaseAdapter + ListView 。总共有100条数据。



下载源码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值