Excel 工具类-jxl.jar的使用

1. Excel 工具类

主要根据 jxl.jar 进行数据采集的时候 Excel 格式进行存储数据

Excel 工具类

2. 代码示例

2.1 调用示例

        List<ExcelInfo> mList = new ArrayList<ExcelInfo>();
        for (int i = 0; i < 50; i++) {
            ExcelInfo mExcelInfo = new ExcelInfo();
            mExcelInfo.temperature = String.format("%.1f °C", Math.random() * 40);
            mList.add(mExcelInfo);
        }

        // 新增 Excel 数据
        ExcelUtil.updateExcel(mList);

2.2 创建Excel

建立一个Excel 保护Execel名称,行列,排版类型

  • new Label(0, 0, ExcelInfo.head_temperature_label, getHeader());
    public static void createExcel() throws Exception {
        WritableWorkbook wwb;
        OutputStream os;

        File file;
        File dir = new File(FILE_PATH);
        file = new File(dir, FILE_NAME);
        if (!dir.exists()) {
            dir.mkdirs();
        }

        if (!file.exists()) {
            file.createNewFile();
        }

        // 创建Excel工作表
        os = new FileOutputStream(file);
        wwb = Workbook.createWorkbook(os);
        // 添加第一个工作表并设置第一个Sheet的名字
        WritableSheet sheet = wwb.createSheet(SHEET_0, SHEET_ID_0);

        Label label;
        // Label(x,y,z) 代表单元格的第x+1列,第y+1行, 内容z, 排版格式
        label = new Label(0, 0, ExcelInfo.head_temperature_label, getHeader());
        sheet.addCell(label);

        if (null != wwb) {
            // 写入数据
            wwb.write();
            // 关闭文件
            wwb.close();
        }
    }

2.3 添加一条Excel数据

  • sheet.addCell(label);

随着Excel添加的内容越来越大,性能上会越来越明显,尤其是连续1小时后,建议分表添加

    public static void appendExcel(List<ExcelInfo> mList) throws IOException, BiffException, WriteException {
        Workbook rwb = Workbook.getWorkbook(new File(ABSOLUTE_FILE_PATH));
        WritableWorkbook wwb = Workbook.createWorkbook(new File(ABSOLUTE_FILE_PATH), rwb);// copy
        WritableSheet sheet = wwb.getSheet(0);

        Label label;
        for (int i = 0; i < mList.size(); i++) {
            // Label(x,y,z) 代表单元格的第x+1列,第y+1行, 内容z
            //int currentColumns = sheet.getColumns();
            int currentRow = sheet.getRows();
            label = new Label(0, currentRow, mList.get(i).temperature);
            sheet.addCell(label);
        }

        if (null != wwb) {
            wwb.write();
            wwb.close();
        }
    }

2.4 删除Excel表格

    /** 删除 Excel */
    public static void delExcel() {
        File file = new File(ABSOLUTE_FILE_PATH);
        if (file.exists()) {
            file.delete();
        }

        Log.d(TAG, "delExcel");
    }

3. 下载

https://download.csdn.net/download/su749520/10572101

猜你喜欢

转载自blog.csdn.net/su749520/article/details/81284283