你知道如何在Java中使用现有 Excel 数据创建 PowerPoint 图表吗?

翻译|使用教程|编辑:李显亮|2021-04-09 09:48:31.533|阅读 26 次

概述:本文介绍如何根据现有Excel数据在PowerPoint中创建图表。

# 31款JAVA开发必备控件和工具 # 企业数字化建设合规无风险[专题]

本文介绍如何根据现有Excel数据在PowerPoint中创建图表。该方案需引用Spire.Office.jar,请下载最新版本并在您的项目中。

Spire.Office for .NET是一套企业级的涵盖 E-iceblue 所有 .NET Office 组件的集合。使用 Spire.Office for .NET,开发人员可以创建大量的用于处理办公文档的应用程序。

免费下载Spire.office最新版

*这么优秀的国产工具怎能错过呢!在线下单专享“一口价”,立即购买!想要获取更多福利的朋友可以咨询在线客服哦~


在Java中使用现有 Excel 数据创建 PowerPoint 图表

Excel文档截图:

你知道如何在Java中使用现有 Excel 数据创建 PowerPoint 图表吗?
import com.spire.presentation.FileFormat;
import com.spire.presentation.Presentation;
import com.spire.presentation.SlideSizeType;
import com.spire.presentation.charts.ChartStyle;
import com.spire.presentation.charts.ChartType;
import com.spire.presentation.charts.IChart;
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;

import java.awt.geom.Rectangle2D;

public class CreateChartFromExcelData {

    public static void main(String[] args) throws Exception {

        //创建Presentation对象
        Presentation presentation = new Presentation();
        presentation.getSlideSize().setType(SlideSizeType.SCREEN_16_X_9);

        //添加柱状图
        Rectangle2D rect = new Rectangle2D.Float(200, 100, 550, 320);
        IChart chart = presentation.getSlides().get(0).getShapes().appendChart(ChartType.COLUMN_CLUSTERED,rect);

        //清除默认图表数据
        chart.getChartData().clear(0,0,5,5 );

        //创建Workbook对象并加载Excel文档
        Workbook wb = new Workbook();
        wb.loadFromFile("C:\\Users\\Administrator\\Desktop\\data.xlsx");

        //获取第一个工作表
        Worksheet sheet = wb.getWorksheets().get(0);

        //将Excel中的数据导入图表数据表
        for (int r = 0; r < sheet.getAllocatedRange().getRowCount(); r++)
        {
            for (int c = 0; c < sheet.getAllocatedRange().getColumnCount(); c++)
            {
                chart.getChartData().get(r,c).setValue(sheet.getCellRange(r+1, c+1).getValue2());
            }
        }

        //添加标题
        chart.getChartTitle().getTextProperties().setText("男性女性成员分布");
        chart.getChartTitle().getTextProperties().isCentered(true);
        chart.getChartTitle().setHeight(25f);
        chart.hasTitle(true);

        //设置系列标签
        chart.getSeries().setSeriesLabel(chart.getChartData().get("B1","C1"));

        //设置分类标签
        chart.getCategories().setCategoryLabels(chart.getChartData().get("A2","A5"));

        //设置系列数据
        chart.getSeries().get(0).setValues(chart.getChartData().get("B2","B5"));
        chart.getSeries().get(1).setValues(chart.getChartData().get("C2", "C5"));

        //应用内置样式
        chart.setChartStyle(ChartStyle.STYLE_11);

        //设置系列重叠
        chart.setOverLap(-50);

        //设置分类间距
        chart.setGapWidth(200);

        //保存文档
        presentation.saveToFile("output/Chart-CN.pptx", FileFormat.PPTX_2013);
    }
}
你知道如何在Java中使用现有 Excel 数据创建 PowerPoint 图表吗?

慧都是E-iceblue官方友好合作伙伴,如果您对spire.office可以联系在线客服了解具体授权价格和使用机制。

标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至hey@evget.com


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
在线咨询
联系我们
TOP
在线客服系统
live chat