android 输出excel文档

1,添加poi的jar包

2,建立workbook,并生成sheet,row以及单元格cell

private Workbook workbook;
private Sheet sheet;
//创建工作簿
workbook = new HSSFWorkbook();
//创建execl中的一个表
sheet= workbook.createSheet();
//设置第一列的宽度是9个字符宽度
sheet.setColumnWidth(1,10*256);
sheet.setColumnWidth(2,4*256);
//创建第一行
Row row=sheet.createRow(0);
// 设置第一行:高为50个点
row.setHeightInPoints(50);
//创建第一行中第一单元格
row.createCell(0).setCellValue("时间");
row.createCell(1).setCellValue("rssi值");
//随着数据的不断传递,不断增加Excel的行
private void createRows(int i,String date,int rssi){
    //创建第二行
    Row row=sheet.createRow(i);
    // 设置第二行:高为50个点
    row.setHeightInPoints(50);
    //创建第一行中第一单元格
    row.createCell(0).setCellValue(date);
    row.createCell(1).setCellValue(rssi);
}

3,输出到手机内存中

writeFile(Environment.getExternalStorageDirectory() + "/" + getFileName("12:3B:6A:1A:95:56"));
private void   writeFile( String fileName){
    FileOutputStream outputStream=null;
    try{
        outputStream=new FileOutputStream(fileName);
        workbook.write(outputStream);
    }catch (Exception e){
        e.printStackTrace();
    }finally {
        try{
            if(outputStream!=null){
                outputStream.close();
            }
            if(workbook!=null){
                workbook.close();
            }
        }catch (Exception e){
            e.printStackTrace();
        }
    }

}
//去除蓝牙设备地址中的冒号,用来给保存的文档命名
private static String getFileName(String address) {
    char[] addressChar = address.toCharArray();
    char[] addressCharResult = new char[]{addressChar[0], addressChar[1], addressChar[3], addressChar[4], addressChar[6], addressChar[7], addressChar[9], addressChar[10], addressChar[12], addressChar[13], addressChar[15], addressChar[16]};
    String fileName = String.valueOf(addressCharResult);
    return fileName + ".xls";
}

猜你喜欢

转载自blog.csdn.net/Han_Xiao_yu/article/details/81106988