Android上进行大量数据分析和比对的时候,自动化想的尤为必要。而大量的基准数据多以Excel的形式展示,所以利用Android App进行Excel的解析很有价值。
■解析Excel依赖的Jar包
JXL工具包。对中文,日文支持非常好,内存消耗较小,操作简单。
POI工具包。功能更强大,效率高,但不稳定,容易内存溢出,代码不能跨平台。
--------------------------------------------------------------------------------------------------------
以JXL工具包为例,简单介绍JXL工具的使用。
■读取现有Excel
File file = new File(FILE_NAME); Workbook book = Workbook.getWorkbook(file); Sheet sheet = workBook.getSheet(0); book.close();
■获取sheet中行数列数
1. int rowCount = workSheet.getRows(); 2. int columnCount = workSheet.getColumns();
获取指定单元格内容
workSheet.getCell(j, i).getContents();//以String类型输入
■创建Excel
File file = new File(REPORT_FILE); WritableWorkbook book = Workbook.createWorkbook(file); WritableSheet sheet = book.createSheet("sheetName", 0); book.close();
■创建指定单元格
1. Label label = new Label(0, 0, "NO."); 2. sheet.addCell(label); 3. book.write();
■合并单元格
WritableSheet.mergeCells(int m,int n,int p,int q);
■插入图片至单元格
File picFile=new File(PIC_PATH); WritableImage image=new WritableImage(startColumnIndex, startRowIndex, ColumnSpace, RowSpace, picFile); sheet.addImage(image); book.write();
■修改列宽行高
1. //设置某列宽为20 2. writableSheet.setColumnView(j, 20); 3. //设置某行宽为150 4. sheet.setRowView(i,150);
■修改单元格样式
WritableFont writableFont = new WritableFont(WritableFont.ARIAL,10,WritableFont.NO_BOLD,false, UnderlineStyle.NO_UNDERLINE,Colour.BLACK); WritableCellFormat writableCellFormat = new WritableCellFormat(writableFont); writableCellFormat.setBackground(Colour.RED); //新建label对象的时候,增加WritableCellFormat的参数,用以指定格式 Label label = new Label(0, 0, "NO.", writableCellFormat);