jxl.jar是通过java操作excel表格的工具类库
public void createExcel(){ String MainPath = Environment.getExternalStorageDirectory().getAbsolutePath() + "/"; String path = MainPath + "/" + "信息表.xls"; try { WritableWorkbook workbook = jxl.Workbook.createWorkbook(new File(path)); WritableSheet ws = workbook.getSheet(0);//参数0表示这是第一页 Label label = new Label(0,0,"a");//第1列第1行为字符串a ws.addCell(label); Number number = new Number(1,0,33.456);//第2列第1行为数字33.456 ws.addCell(number); workbook.write();// 写入数据 workbook.close();//关闭文件 }catch (Exception e){ } }
public void deleteFromExcel(List<Integer> data){ try { String MainPath = Environment.getExternalStorageDirectory().getAbsolutePath() + "/"; String path = MainPath + "/" + "信息表.xls"; WritableWorkbook wwb = Workbook.createWorkbook(new File(path)); WritableSheet ws = wwb.getSheet(0); int Rows = ws.getRows(); for (int i = 0; i < data.size(); i++) { ws.removeRow(data.get(i));//删除行,传入的必须为整型list,该list应当是数据的排序号才对 } wwb.write(); wwb.close(); } catch (Exception e) { // TODO: handle exception return false; } }
public void updateToExcel( int index) { try { String MainPath = Environment.getExternalStorageDirectory().getAbsolutePath() + "/"; String path = MainPath + "/" + "信息表.xls"; Workbook rwb = Workbook.getWorkbook(new File(path)); // 打开一个文件的副本,并且指定数据写回到原文件 WritableWorkbook wwb = Workbook.createWorkbook(new File(path), rwb);// copy WritableSheet ws = wwb.getSheet(0); Label label = new Label(0, index, "dddd"); ws.addCell(label); label = new Label(1, index, "cccc"); ws.addCell(label); wwb.write(); wwb.close(); rwb.close(); } catch (Exception e) { } }
public void readExcel( int index) { try { String MainPath = Environment.getExternalStorageDirectory().getAbsolutePath() + "/"; String path = MainPath + "/" + "信息表.xls"; Workbook rwb = Workbook.getWorkbook(new File(path)); // 打开一个文件的副本,并且指定数据写回到原文件 WritableWorkbook wwb = Workbook.createWorkbook(new File(path), rwb);// copy WritableSheet ws = wwb.getSheet(0); Cell cell = ws.getCell(0, 0); //String result = cell.getContents();//对数据只到小数点后3位 SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd"); String result=cell.getContents(); if(cell.getType()==CellType.NUMBER ||cell.getType()==CellType.NUMBER_FORMULA) { NumberCell numberCell = (NumberCell) cell; double value =numberCell.getValue(); result = value + ""; } else if(cell.getType()==CellType.DATE) { DateCell dc=(DateCell)cell; result=sdf.format(dc.getDate()); } wwb.write(); wwb.close(); rwb.close(); } catch (Exception e) { } }
WritableSheet.mergeCells(int m,int n,int p,int q);//作用是从(m,n)到(p,q)的单元格全部合并,比如:
WritableSheetsheet=book.createSheet("第一页",0);
sheet.mergeCells(0,0,5,0);//合并第一列第一行到第六列第一行的所有单元格
合并既可以是横向的,也可以是纵向的。合并后的单元格不能再次进行合并,否则会触发异常。
其余更多功能用到了再补充~~