• 大小: 297KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-12
  • 语言: 其他
  • 标签: poi  poi导出ppt  

资源简介

poi 版本 3.17 文件中包含 模板 测试main 数据类 需要调整下 路径 /** * @Description: * @Author: xsr * @date : 2018/7/22 9:41 */ public static void makePiePpt(List dataList) throws Exception { //打开模板ppt String mtemplateName = "E:/PIE/mtemplate/PIE" + dataList.size() + ".pptx"; String path ="E:/PIE/NewPPT/NewPIE" + dataList.size() + ".pptx"; XMLSlideShow pptx = new XMLSlideShow(new FileInputStream(mtemplateName)); pptx.setPageSize(new Dimension(960, 580)); for (int i = 0; i < dataList.size(); i++) { makePiePpt(pptx, i, dataList); } //保存文件 OutputStream out = new FileOutputStream(path); pptx.write(out); out.close(); System.out.println("导出成功"); } /** * @Description: * @Author: xsr * @date : 2018/7/27 5:41 */ public static void makePiePpt(XMLSlideShow pptx, Integer pieNum, List dataList) throws Exception { //获取第一个ppt页面 XSLFSlide slide = pptx.getSlides().get(0); //遍历第一页元素找到图表 XSLFChart chart; List poixmlDocumentParts = new ArrayList(); for (POIXMLDocumentPart part : slide.getRelations()) { if (part instanceof XSLFChart) { chart = (XSLFChart) part; poixmlDocumentParts.add(chart); } } chart = (XSLFChart) poixmlDocumentParts.get(pieNum); POIXMLDocumentPart xlsPart = chart.getRelations().get(0); //把图表绑定到Excel workbook中 XSSFWorkbook wb = new XSSFWorkbook(); XSSFSheet sheet = wb.createSheet(); CTChart ctChart = chart.getCTChart(); CTPlotArea plotArea = ctChart.getPlotArea(); CTPieChart pieChart = plotArea.getPieChartArray(0); // 获取图表的系列 CTPieSer ser = pieChart.getSerArray(0); XSSFRow row0 = sheet.createRow(0); // Series Text CTSerTx tx = ser.getTx(); tx.getStrRef().

资源截图

代码片段和文件信息

package com.adc.da.export.util;


import com.adc.da.reve.vo.PieData;
import org.apache.poi.POIxmlDocumentPart;
import org.apache.poi.hssf.util.CellReference;
import org.apache.poi.ss.util.CellRangeAddress;
import org.apache.poi.xslf.usermodel.xmlSlideShow;
import org.apache.poi.xslf.usermodel.XSLFChart;
import org.apache.poi.xslf.usermodel.XSLFSlide;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.openxmlformats.schemas.drawingml.x2006.chart.*;

import java.awt.*;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class pie {

    public static void main(String[] args) throws Exception {
        List dataList = new ArrayList<>();
        PieData pieData = new PieData();
        pieData.settitleName(“车型类别(一)“);
        pieData.setLegengName(Arrays.asList(“敞篷跑车“ “双门轿跑车“ “超级跑车“ “2+2 跑车“));
        pieData.setLegengValue(Arrays.asList(“15“ “25“ “35“ “45“));
        dataList.add(pieData);
        pieData = new PieData();
        pieData.settitleName(“车型类别(二)“);
        pieData.setLegengName(Arrays.asList(“敞篷跑车1“ “双门轿跑车1“ “超级跑车1“ “2+2 跑车1“));
        pieData.setLegengValue(Arrays.asList(“90“ “60“ “30“ “10“));
        dataList.add(pieData);
        pieData = new PieData();
        pieData.settitleName(“车型类别(三)“);
        pieData.setLegengName(Arrays.asList(“敞篷跑车2“ “双门轿跑车2“ “超级跑车2“ “2+2 跑车2“));
        pieData.setLegengValue(Arrays.asList(“60“ “15“ “20“ “10“));
        dataList.add(pieData);
//        pieData = new PieData();
//        pieData.settitleName(“车型类别(四)“);
//        pieData.setLegengName(Arrays.asList(“敞篷跑车3“ “双门轿跑车3“ “超级跑车3“ “2+2 跑车3“));
//        pieData.setLegengValue(Arrays.asList(“10“ “80“ “20“ “10“));
//        dataList.add(pieData);
        makePiePpt(dataList);
    }

    /**
     * @Description:反向查询导出(**)
     * @Author: xieshengrui
     * @date :  2018/7/22 9:41
     */
    public static void makePiePpt(List dataList) throws Exception {
        //打开模板ppt
        String mtemplateName = “E:/PIE/mtemplate/PIE“ + dataList.size() + “.pptx“;
        String path =“E:/PIE/NewPPT/NewPIE“ + dataList.size() + “.pptx“;
        xmlSlideShow pptx = new xmlSlideShow(new FileInputStream(mtemplateName));
        pptx.setPageSize(new Dimension(960 580));

        for (int i = 0; i < dataList.size(); i++) {
            makePiePpt(pptx i dataList);
        }
        //保存文件
        OutputStream out = new FileOutputStream(path);
        pptx.write(out);
        out.close();
        System.out.println(“导出成功“);

    }

    /**
     * @Description:反向查询导出(***)
     * @Author: xieshengrui
     * @date :  2018/7/27 5:41
     */
    public static void makePiePpt(xmlSlideShow pptx Integer

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      54765  2018-09-03 15:36  multi-pie\PIE\mtemplate\PIE1.pptx

     文件      72546  2018-09-03 15:37  multi-pie\PIE\mtemplate\PIE2.pptx

     文件      92039  2018-09-03 15:38  multi-pie\PIE\mtemplate\PIE3.pptx

     文件     102392  2018-09-03 15:39  multi-pie\PIE\mtemplate\PIE4.pptx

     文件      76842  2018-09-03 15:40  multi-pie\PIE\NewPPT\NewPIE3.pptx

    ..A..H.       165  2018-09-03 15:40  multi-pie\PIE\NewPPT\~$NewPIE3.pptx

     文件       6390  2018-09-03 15:25  multi-pie\pie.java

     文件       1158  2018-08-30 11:50  multi-pie\PieData.java

     目录          0  2018-09-03 15:43  multi-pie\PIE\mtemplate

     目录          0  2018-09-03 15:41  multi-pie\PIE\NewPPT

     目录          0  2018-09-03 15:41  multi-pie\PIE

     目录          0  2018-09-03 15:44  multi-pie

----------- ---------  ---------- -----  ----

               406297                    12


评论

共有 条评论