public class ReadExcel extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// createExcel();
// readExcel();
writeExcel("mnt/sdcard/test.xls");
}
public void readExcel() {
try {
/**
* 后续考虑问题,比如Excel里面的图片以及其他数据类型的读取
**/
InputStream is = new FileInputStream("mnt/sdcard/test.xls");
Workbook book = Workbook
.getWorkbook(new File("mnt/sdcard/test.xls"));
book.getNumberOfSheets();
// 获得第一个工作表对象
Sheet sheet = book.getSheet(0);
int Rows = sheet.getRows();
int Cols = sheet.getColumns();
System.out.println("当前工作表的名字:" + sheet.getName());
System.out.println("总行数:" + Rows);
System.out.println("总列数:" + Cols);
for (int i = 0; i < Cols; ++i) {
for (int j = 0; j < Rows; ++j) {
// getCell(Col,Row)获得单元格的值
System.out
.print((sheet.getCell(i, j)).getContents() + "\t");
}
System.out.print("\n");
}
// 得到第一列第一行的单元格
Cell cell1 = sheet.getCell(0, 0);
String result = cell1.getContents();
System.out.println(result);
book.close();
} catch (Exception e) {
System.out.println(e);
}
}
public void createExcel() {
try {
// 创建或打开Excel文件
WritableWorkbook book = Workbook.createWorkbook(new File(
"mnt/sdcard/test.xls"));
// 生成名为“第一页”的工作表,参数0表示这是第一页
WritableSheet sheet1 = book.createSheet("第一页", 0);
WritableSheet sheet2 = book.createSheet("第三页", 2);
// 在Label对象的构造函数中,元格位置是第一列第一行(0,0)以及单元格内容为test
Label label = new Label(0, 0, "test");
// 将定义好的单元格添加到工作表中
sheet1.addCell(label);
/*
* 生成一个保存数字的单元格.必须使用Number的完整包路径,否则有语法歧义
*/
jxl.write.Number number = new jxl.write.Number(1, 0, 555.12541);
sheet2.addCell(number);
// 写入数据并关闭文件
book.write();
book.close();
} catch (Exception e) {
System.out.println(e);
}
}
/**
* jxl暂时不提供修改已经存在的数据表,这里通过一个小办法来达到这个目的,不适合大型数据更新! 这里是通过覆盖原文件来更新的.
*
* @param filePath
*/
public void updateExcel(String filePath) {
try {
Workbook rwb = Workbook.getWorkbook(new File(filePath));
WritableWorkbook wwb = Workbook.createWorkbook(new File(
"d:/new.xls"), rwb);// copy
WritableSheet ws = wwb.getSheet(0);
WritableCell wc = ws.getWritableCell(0, 0);
// 判断单元格的类型,做出相应的转换
Label label = (Label) wc;
label.setString("The value has been modified");
wwb.write();
wwb.close();
rwb.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public static void writeExcel(String filePath) {
try {
// 创建工作薄
WritableWorkbook wwb = Workbook.createWorkbook(new File(filePath));
// 创建工作表
WritableSheet ws = wwb.createSheet("Sheet1", 0);
// 添加标签文本
// Random rnd = new Random((new Date()).getTime());
// int forNumber = rnd.nextInt(100);
// Label label = new Label(0, 0, "test");
// for (int i = 0; i < 3; i++) {
// ws.addCell(label);
// ws.addCell(new jxl.write.Number(rnd.nextInt(50), rnd
// .nextInt(50), rnd.nextInt(1000)));
// }
// 添加图片(注意此处jxl暂时只支持png格式的图片)
// 0,1分别代表x,y 2,5代表宽和高占的单元格数
ws.addImage(new WritableImage(5, 5, 2, 5, new File(
"mnt/sdcard/nb.png")));
wwb.write();
wwb.close();
} catch (Exception e) {
System.out.println(e.toString());
}
}
}
分享到:
相关推荐
2. **读取Excel文件**:在Android应用中,我们通常会在一个后台线程(如AsyncTask)中执行文件读取,以避免阻塞UI。以下是一个简单的示例: ```java private class ReadExcelTask extends AsyncTask, Void, List...
在Android应用开发中,有时需要处理大量的结构化数据,这时Excel文件就成为一个理想的存储选择,因为它们便于人类阅读,同时也方便程序进行数据处理。本文将详细介绍如何在Android中实现Excel文件的读取与写入。 ...
总之,Android应用读取Excel文件主要依赖第三方库,如jExcelAPI,通过创建Workbook对象来打开文件,然后通过Sheet和Cell对象进行数据的读取。同时,不要忘记处理权限问题,以确保应用能在不同Android版本上正常工作...
- 本地存储:Android应用通常将Excel文件存储在内部存储或外部存储中,使用File类和Environment类的方法来获取路径。 - 网络下载:如果文件来自网络,需要先通过HttpURLConnection或OkHttp等库下载到本地,然后再...
总结起来,这个例子展示了如何在Android应用中使用Apache POI库读取和创建Excel文件,这对于需要处理数据导入导出或者与Excel文件交互的应用非常有用。在实际开发中,可以进一步扩展这些基础功能,例如处理更复杂的...
在Android平台上,有时候我们需要处理...通过以上步骤,我们可以实现Android应用从Excel文件读取数据并转换为XML文件,从而灵活地在应用中使用这些数据。这个过程对于数据迁移、数据交换或数据处理等任务非常有用。
本资源“Android应用源码之安卓读取Excel文件获取表格数据.zip”提供了实现这一功能的源代码示例。下面,我们将深入探讨如何在Android应用中读取Excel文件并获取其中的数据。 首先,我们需要理解的是,Android系统...
总之,Android应用读取Excel文件需要借助第三方库或转换文件格式。Apache POI提供了丰富的功能,但可能会增加应用大小;而CSV格式则更轻量级,但处理起来可能稍显复杂。选择哪种方法取决于具体的应用需求和资源限制...
本资源“Android应用源码之安卓读取Excel文件获取表格数据.rar”提供了一个完整的示例,演示了如何在Android应用中实现这一功能。下面我们将详细探讨这个过程中的关键知识点。 1. **读取Excel文件**:Android系统...
本项目“Android高级应用源码-安卓读取Excel文件获取表格数据”提供了这样的功能,让开发者能够轻松地在Android应用中集成Excel数据处理。下面我们将详细探讨这个主题,了解如何在Android应用中实现这一功能。 首先...
通过ACTION_OPEN_DOCUMENT Intent,用户可以从文件管理器中选取Excel文件,然后返回文件的Uri供应用读取。 5. **异步处理**:由于读取Excel文件可能会消耗大量资源和时间,为避免阻塞UI线程,开发者可能使用了...
在Android平台上,处理Excel文件是常见的需求,例如数据导入、导出或数据分析。这个例子将讲解如何使用Apache POI库来读取xls和xlsx格式的文件。...通过熟练掌握POI,你可以构建出能够无缝集成Excel功能的Android应用。
此精简版可能是为了减小Android应用的体积和提高性能,移除了不必要的部分,但仍保留了读取Excel文件的核心功能。 3. **aa-poi-ooxml-schemas-3.10-reduced-more-0.1.5.jar**: 这个库文件包含了Apache POI处理...
首先,通过`getAssets()`方法获取到AssetManager实例,然后调用`open()`方法,传入Excel文件的路径(相对于assets目录)来获取输入流。 ```java AssetManager assetManager = getAssets(); InputStream ...
在Android平台上,开发人员经常需要处理各种数据,其中包括读取Excel文件来获取表格数据。这个“Android 安卓读取Excel文件获取表格数据”的项目是一个几年前的源码示例,适用于计算机科学专业的学生进行毕业设计...
Excel文件通常用于存储和处理表格数据,而在Android应用中,用户可能需要查看、编辑或创建这些文件。本篇文章将详细介绍如何在Android应用中实现打开Excel(xls和xlsx)文件的功能。 首先,我们需要了解Android对...
本文将详细讲解如何在Android应用中实现Excel文件的解析,主要聚焦于使用JXL库进行处理。 首先,JXL是一个Java库,专门用于读取和写入Excel文件(.xls格式),它支持Biff8格式,这是Microsoft Excel 97至2003使用的...