Android 使用poi生成Excel ,word并保存在指定路径内

一添加依赖

minSdk= 26   //注意最小支持SDK26
dependencies {
    implementation 'org.apache.poi:poi:4.1.2'
    implementation 'org.apache.poi:poi-ooxml:4.1.2'
    implementation 'javax.xml.stream:stax-api:1.0-2'
}

二创建方法

private void createExcelFile(String Path) {
    // 创建工作簿
    Workbook workbook = new XSSFWorkbook();
    // 创建工作表
    Sheet sheet = workbook.createSheet("姓名");
    // 创建行
 /*   Row row = sheet.createRow(0);
    // 创建单元格
    for (int i = 0; i <10 ; i++) {
        Cell cell = row.createCell(i);
        // 设置单元格的值
        cell.setCellValue("Fengfeng");
    }*/

    ArrayList<Map<Integer,Object>> arrayList = new ArrayList<>();
    Map<Integer,Object> m = new HashMap<>();
    m.put(0,"物料ID");
    m.put(1,"物料编码");
    m.put(2,"名称");
    m.put(3,"编号");
    m.put(4,"规格");
    m.put(5,"单位");
    m.put(6,"单价");
    m.put(7,"数量");
    m.put(8,"厂家");
    m.put(9,"类别");
    arrayList.add(m);
    for (int i = 0; i <10 ; i++) {
        Map<Integer,Object> map = new HashMap<>();
        map.put(0,"materialID");
        map.put(1,"materialEncoding");
        map.put(2,"materialName");
        map.put(3,"materialModel");
        map.put(4,"materialSize");
        map.put(5,"unit");
        map.put(6,"price");
        map.put(7,"count");
        map.put(8,"manufacturers");
        map.put(9,"type");
        arrayList.add(map);
    }
    Cell cell;
    int size = arrayList.get(0).size();
    for (int i = 0;i < arrayList.size();i++){
        Row row = sheet.createRow(i);
        Map<Integer, Object> map1 = arrayList.get(i);
        for (int j = 0;j < size;j++){
            cell = row.createCell(j);
            cell.setCellValue((String) map1.get(j));
        }
    }

    // 保存Excel文件
    try {
        File file = new File(Path, "example.xlsx");
        FileOutputStream outputStream = new FileOutputStream(file);
        workbook.write(outputStream);
        outputStream.close();
        Toast.makeText(this, "Excel文件已创建", Toast.LENGTH_SHORT).show();
    } catch (IOException e) {
        e.printStackTrace();
    }
}

你可能感兴趣的:(Android,android,excel,word)