Java操作Excel文件以及在Android中的应用

Java编程语言 同时被 3 个专栏收录
24 篇文章 0 订阅
64 篇文章 0 订阅
5 篇文章 0 订阅

本文章由临江仙原创,转载请注明出处:http://blog.csdn.net/zhy_cheng/article/details/10286563

 

Excel作为一种有格式的文件,可以使用Java来对Excel来操作,借助jxl库,可以很方便的对Excel进行读取,写入,修改。关于jxl库,在项目最后上传的工程中可以下载。

下面来看看操作Excel的API。

1.创建并且写入数据

WritableWorkbook wwb=Workbook.createWorkbook(f);


创建一个Excel文档。可以通过一个File对象或者OutputStream来创建。

WritableSheet ws=wwb.createSheet("zhycheng", 0);


通过Excel文档获得工作簿。

		Label label=new Label(0,0,"liu");
		
		ws.addCell(label);
		
		jxl.write.Number n=new jxl.write.Number(0,1,34.56);
		ws.addCell(n);
		 
		wwb.write();
		wwb.close();


Label是文字,Number是数字,这样就在(0,0)的位置加入了一个Label,在(0,1)的位置,加入了一个数字。

 

2.读数据

读数据的话,获取文档,获取工作簿,获取单元格,从单元格获取内容。

		Workbook wb=Workbook.getWorkbook(new File("create.xls"));//获取文档
		Sheet sheet=wb.getSheet(0);				//获取工作簿
		Cell c=sheet.getCell(0, 0);				//获取单元格
		System.out.println(c.getContents());			//获取内容
		wb.close();

 

这样就可以获得Excel的内容了。

 

3.修改数据

		Workbook wwb=Workbook.getWorkbook(new File("create.xls"));//原文件文件
		WritableWorkbook wbook=Workbook.createWorkbook(new File("create.xls"), wwb);//修改的副本
		WritableSheet ws=wbook.createSheet("liu", 1);
		ws.addCell(new Label(3,3,"Hello"));
		wbook.write();//写入
		wbook.close();

这样,就可以修改原Excel文件了。

4.Java读取Excel插入SQLite

    public void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        lv=(ListView) findViewById(R.id.listView1);
        al=new ArrayList<HashMap<String,String>>();
        AssetManager am=this.getAssets();
        InputStream is=null;
        try {
			is=am.open("data.xls");
			Workbook wb=Workbook.getWorkbook(is);
			Sheet sheet=wb.getSheet(0);
			int row=sheet.getRows();
			HashMap<String,String> hm;
			for(int i=0;i<row;++i)
			{
				Cell cellarea=sheet.getCell(0, i);
				Cell cellschool=sheet.getCell(1, i);
				System.out.println(cellarea.getContents()+":"+cellschool.getContents());
				hm=new HashMap<String,String>();
				hm.put("AREA", cellarea.getContents());
				hm.put("SCHOOL", cellschool.getContents());
				al.add(hm);
			}
			SimpleAdapter sa=new SimpleAdapter(this,al,R.layout.lv_item,
					new String[]{"AREA","SCHOOL"},new int[]{R.id.tv_area,R.id.tv_school});
			lv.setAdapter(sa);
 
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
       
        
        
    }


上面的代码演示的是从asset中的data.xls获取数据,提供给Android使用,下面是读取data.xls的效果图

 

5.总结

Excel来保存数据,对于数据比较小的话,还是很推荐使用的,应为有优秀的图形化操作工具WPS,操作起来很方便,但是,数据量一旦大了的话,效率就不如SQLite了。当然,在使用的灵活性方面也不如SQLite,SQLite有SQL语句,可以很灵活的查询。

 

最后上传工程代码:

Java操作Excel的代码:点击下载

Android使用Excel的代码:点击下载

 


  • 4
    点赞
  • 7
    评论
  • 2
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
<p> <strong><span style="background-color:#FFFFFF;color:#E53333;font-size:24px;">本页面购买不发书!!!仅为视频课购买!!!</span></strong> </p> <p> <strong><span style="color:#E53333;font-size:18px;">请务必到</span></strong><a href="https://edu.csdn.net/bundled/detail/49?utm_source=banner"><strong><span style="color:#E53333;font-size:18px;">https://edu.csdn.net/bundled/detail/49</span></strong></a><strong><span style="color:#E53333;font-size:18px;">下单购买课+书。</span></strong> </p> <p> <span style="font-size:14px;">本页面,仅为观看视频页面,如需一并购买图书,请</span><span style="font-size:14px;">务必到</span><a href="https://edu.csdn.net/bundled/detail/49?utm_source=banner"><span style="font-size:14px;">https://edu.csdn.net/bundled/detail/49</span></a><span style="font-size:14px;">下单购买课程+图书!!!</span> </p> <p> <br /> </p> <p> <span style="font-size:14px;">疯狂Python精讲课程覆盖《疯狂Python讲义》全书主体内容。</span> </p> <span style="font-size:14px;">内容包括Python基本数据类型、Python列表、元组和字典、流程控制、函数式编程、面向对象编程、文件读写、异常控制、数据库编程、并发编程与网络编程、数据可视化分析、Python爬虫等。</span><br /> <span style="font-size:14px;"> 全套课程从Python基础开始介绍,逐步步入当前就业热点。将会带着大家从Python基础语法开始学习,为每个知识点都提供对应代码实操、代码练习,逐步过渡到文件IO、数据库编程、并发编程、网络编程、数据分 析和网络爬虫等内容,本课程会从小案例起,至爬虫、数据分析案例终、以Python知识体系作为内逻辑,以Python案例作为学习方式,最终达到“知行合一”。</span><br />
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值