Flutter generates Excle, PDF...

One, let's take the picture first. This is the final effect we want. Can Flutter do it?

Insert picture description here

Second, the result: after we Flutter finished writing

Insert picture description here
Insert picture description here
Insert picture description here
Insert picture description here

Three, code usage

     
     //关键代码
     var headfont = WritableFont(WritableFont.TIMES, 10, WritableFont.BOLD, c: ExcleColour.WHITE);
     WritableCellFormat headerWritableCellFormat = WritableCellFormat(headfont)
        .setExAlignment(ExAlignment.CENTRE)
        .setVerticalExAlignment(VerticalExAlignment.CENTRE)
        .setExBorder(ExBorder.ALL, ExBorderLineStyle.THIN,
        colour: ExcleColour.GREEN)
        .setBackground(ExcleColour.DARK_PURPLE);



    List titleCellList = new List<WritableSheet>();
    WritableSheet sheet1 = WritableSheet.Builder()
        .addCell(Label(0, 3, "单位估价", getOneCell2()))
        .setRowView(3, 350)
        .mergeCells(0, 3, 0, 4);

    WritableSheet sheet2 = WritableSheet.Builder()
        .addCell(Label(1, 3, "工程和费用名称", getOneCell2()))
        .setRowView(3, 350)
        .mergeCells(1, 3, 1, 4);
    WritableSheet sheet3 = WritableSheet.Builder()
        .addCell(Label(2, 3, "单位", getOneCell2()))
        .setRowView(3, 350)
        .mergeCells(2, 3, 2, 4);

    WritableSheet sheet4 = WritableSheet.Builder()
        .addCell(Label(3, 3, "数量", getOneCell2()))
        .setRowView(3, 350)
        .mergeCells(3, 3, 3, 4);

    //第二块
    WritableSheet sheet5 = WritableSheet.Builder()
        .addCell(Label(4, 3, "预算价值", getOneCell2()))
        .setRowView(3, 350)
        .mergeCells(4, 3, 5, 3);

    WritableSheet sheet6 = WritableSheet.Builder()
        .addCell(Label(4, 4, "单价", getOneCell2()))
        .setRowView(3, 350)
        .mergeCells(4, 4, 4, 4);

    WritableSheet sheet7 = WritableSheet.Builder()
        .addCell(Label(5, 4, "总价", getOneCell2()))
        .setRowView(3, 350)
        .mergeCells(5, 4, 5, 4);

    //作为  一块
    WritableSheet sheet8 = WritableSheet.Builder()
        .addCell(Label(6, 3, "其中工资:", getOneCell2()))
        .setRowView(3, 350)
        .mergeCells(6, 3, 7, 3);

    WritableSheet sheet9 = WritableSheet.Builder()
        .addCell(Label(6, 4, "单位估价费", getOneCell2()))
        .setRowView(3, 350)
        .mergeCells(6, 4, 6, 4);

    WritableSheet sheet10 = WritableSheet.Builder()
        .addCell(Label(7, 4, "合计", getOneCell2()))
        .setRowView(3, 350)
        .mergeCells(7, 4, 7, 4);

    titleCellList.add(sheet1);
    titleCellList.add(sheet2);
    titleCellList.add(sheet3);
    titleCellList.add(sheet4);
    titleCellList.add(sheet5);
    titleCellList.add(sheet6);
    titleCellList.add(sheet7);
    titleCellList.add(sheet8);
    titleCellList.add(sheet9);
    titleCellList.add(sheet10);

    await ExclePlugin()
        .setHAndByFormatOfCell(allList,titleList: titleList,hderCellFormat: titleWritableCellFormat,byCellFormat: bodyWritableCellFormat)
        .setOtherHeader(hderCellFormat: headerWritableCellFormat,headTiltle: "天津市渤海新能,2020年业扩福建大整合")
        .setOtherHeader(hderCellFormat: otherHeaderWritableCellFormat,headTiltle: "2020年9月24日")
        .setOtherHeader(hderCellFormat: headerWritableCellFormat2,headTiltle: "天津职业技术示范大学不行的画就撤职")
        .setTitleCell(titleCellList)
        .setSheetName(sheetName: "ExcleFlutter库")
        .setExcleFileName("Flutter_Excle插件开发")
        .createExcle();





Official website library address
github address

Guess you like

Origin blog.csdn.net/m0_37667770/article/details/108765217