Android解析Excel文档完整示例

时间:2023-03-09 07:25:04
Android解析Excel文档完整示例

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>