Android解析Excel文档完整示例
2024-10-19 00:24:58
MainActivity如下:
package cc.testexcel;
import java.io.File;
import jxl.Cell;
import jxl.CellType;
import jxl.DateCell;
import jxl.NumberCell;
import jxl.Sheet;
import jxl.Workbook;
import android.os.Bundle;
import android.os.Environment;
import android.app.Activity;
/**
* Demo描述:
* 利用jxl.jar解析Excel文档
*
* 注意事项:
* 1 在读取每个单元格cell的时候,要留意其类型(CellType)
* 这样就可以对不同类型区别对待
* 2 测试用Excel文档备份于assets文件夹下
*
* 参考资料:
* http://download.csdn.net/download/ljmin0204/4141034
* Thank you very much
*/
public class MainActivity extends Activity { @Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
parseExcel();
} private void parseExcel() {
try {
Workbook workbook = null;
try {
File file=new File(Environment.getExternalStorageDirectory()+File.separator+"test.xls");
workbook = Workbook.getWorkbook(file);
} catch (Exception e) {
throw new Exception("File not found");
}
//得到第一张表
Sheet sheet = workbook.getSheet(0);
//列数
int columnCount = sheet.getColumns();
//行数
int rowCount = sheet.getRows();
//单元格
Cell cell = null;
for (int everyRow = 0; everyRow < rowCount; everyRow++) {
for (int everyColumn = 0; everyColumn < columnCount; everyColumn++) {
cell = sheet.getCell(everyColumn, everyRow);
if (cell.getType() == CellType.NUMBER) {
System.out.println("数字="+ ((NumberCell) cell).getValue());
} else if (cell.getType() == CellType.DATE) {
System.out.println("时间="+ ((DateCell) cell).getDate());
} else {
System.out.println("everyColumn="+everyColumn+",everyRow="+everyRow+
",cell.getContents()="+ cell.getContents());
}
}
}
//关闭workbook,防止内存泄露
workbook.close();
} catch (Exception e) { } } }
main.mxl如下:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
> <TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="测试Excel的解析"
android:layout_centerInParent="true" /> </RelativeLayout>
最新文章
- Android开发LogCat一直不停输出的解决方法
- 4 .Swift函数|闭包
- 关于flume中的几个疑惑
- qsort函数用法(转)
- YUI的UA检测
- RMAN-format变量及configuration配置项
- Android涉及到的设计模式(转)
- Java 9 揭秘(14. HTTP/2 Client API)
- Ubuntu下搜狗拼音突然无法输入中文的解决办法
- 【Unity3D技术文档翻译】第1.0篇 AssetBundles
- plink计算两个SNP位点的连锁不平衡值(LD)
- Finance公式说明
- 【CSS学习】--- 文本水平对齐属性text-align和元素垂直对齐属性vertical-align
- vmware虚拟机环境下配置centos为静态IP的步骤
- locals()和globals()
- MYSQL问题解决
- js如何获取前后连续n天的时间
- App store最新审核标准公布
- 谷类 cereal
- 为什么使彩色图变灰RGB的权重会固定(R:0.299 G:0.587 B:0.114)?