本文章由临江仙原创,转载请注明出处: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的代码:点击下载

Java操作Excel文件以及在Android中的应用的更多相关文章

  1. java 操作excel 文件

    JAVA EXCEL API:是一开放源码项目,通过它Java开发人员可以读取Excel文件的内容.创建新的Excel文件.更新已经存在的Excel文件.使用该API非Windows操作系统也可以通过 ...

  2. [转载]Java操作Excel文件的两种方案

    微软在桌面系统上的成功,令我们不得不大量使用它的办公产品,如:Word,Excel.时至今日,它的源代码仍然不公开已封锁了我们的进一步应用和开发.在我们实际开发企业办公系统的过程中,常常有客户这样子要 ...

  3. java操作excel文件

    采用POI操作excel API:http://poi.apache.org/apidocs/org/apache/poi/hssf/usermodel/HSSFCell.html poi包:http ...

  4. java使用Apache POI操作excel文件

    官方介绍 HSSF is the POI Project's pure Java implementation of the Excel '97(-2007) file format. XSSF is ...

  5. java使用POI操作excel文件,实现批量导出,和导入

    一.POI的定义 JAVA中操作Excel的有两种比较主流的工具包: JXL 和 POI .jxl 只能操作Excel 95, 97, 2000也即以.xls为后缀的excel.而poi可以操作Exc ...

  6. JXL包大解析;Java程序生成excel文件和解析excel文件内容

    最近需求变化,需要把excel导入 我以前没有做过,所以我查了一些资料 和参考别人的代码 以下是多种方式: import java.io.File; import java.io.FileInputS ...

  7. Java生成和操作Excel文件(转载)

    Java生成和操作Excel文件   JAVA EXCEL API:是一开放源码项目,通过它Java开发人员可以读取Excel文件的内容.创建新的Excel文件.更新已经存在的Excel文件.使用该A ...

  8. Java生成和操作Excel文件

    JAVA EXCEL API:是一开放源码项目,通过它Java开发人员可以读取Excel文件的内容.创建新的Excel文件.更新已经存在的Excel文件.使用该API非Windows操作系统也可以通过 ...

  9. C#项目中操作Excel文件——使用NPOI库

    转载自:http://blog.csdn.net/dcrmg/article/details/52356236# 感谢-牧野- 实际C#项目中经常会涉及到需要对本地Excel文件进行操作,特别是一些包 ...

随机推荐

  1. "Blessing of Dimisionality: High Dimensional Feature and Its Efficient Compression for Face Verification"学习笔记

    这\(^{[1]}\)是一篇关于如何使用高维度特征在人脸验证中的文章,作者以主要LBP为例子,论述了高维特征和验证性能存在着正相关的关系,即人脸维度越高,验证的准确度就越高.由于那时候没有用DeepL ...

  2. Tomcat篇

    安装tomcat 先从tomcat官网找到最新的版本下载地址,我找的是Core下的安装包,下载到本地: wget http://mirror.bit.edu.cn/apache/tomcat/tomc ...

  3. run commands in linux shell using batch file

    adb shell as root after device rooted once device rooted, we must perform "su" before we g ...

  4. OC学习那些事:第一个OC类

    一.创建一个新的OC类: 1.点击File->New File,打开Choose a template for your new file窗口,选择Objective-C class,点击Nex ...

  5. IIS7.5 配置 PHP 5.3.5

    本机环境:IIS7.5 windows2008 64位 首先确认IIS中启用了CGI功能: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveWVmaWdod ...

  6. How to install WP 8.0 SDK if WP 8.1 SDK is installed?

    I have the Windows Phone 8.1 SDK on my dev pc installed together with VS 2013. I need to open some W ...

  7. datagrid在MVC中的运用10-勾选

    本文体验与勾选有关的特性. 需要加载的books.json 展开{ "total": 4, "rows": [ { "productid": ...

  8. 26复杂类型比较,使用Compare .NET objects组件

    关于比较对象,在"06判等对象是否相等"中大致可以总结为:   关于比较方法: ● 实例方法Equals(object obj)既可以比较值类型,也可以比较引用类型 ● 静态方法E ...

  9. IOS在一个程序中启动另一个程序

    尽管iPhone不允许同时运行两个应用程序,我们可以从自己的应用程序中启动另一个应用程序,并且可以在应用程序之间共享数据.我们可以使用UIApplication类的openURL:方法从一个应用程序来 ...

  10. python笔记29-队列Queue

    前言 Python的Queue模块提供一种适用于多线程编程的FIFO实现.它可用于在生产者(producer)和消费者(consumer)之间线程安全(thread-safe)地传递消息或其它数据,因 ...