public class WordDoughnutChart implements WordChart {
public void bulider(XWPFChart chart, ChartOption options) {
String sheetName = "sheet0";
XSSFWorkbook workbook = null;
try {
workbook = chart.getWorkbook();
} catch (Exception e) {
e.printStackTrace();
return;
XSSFSheet sheet = workbook.getSheet(sheetName);
int rowIndex = this.refreshSheet(sheet, options);
// 图例
if(options.isShowLegend()) {
XDDFChartLegend legend = chart.getOrAddLegend();
legend.setPosition(options.getLegendPosition());
XDDFDoughnutChartData doughnut = (XDDFDoughnutChartData) chart.createData(ChartTypes.DOUGHNUT, null, null);
doughnut.setHoleSize(70);
XDDFCategoryDataSource categorySource = XDDFDataSourcesFactory.fromStringCellRange(sheet,new CellRangeAddress(1, rowIndex - 1, 0, 0));
XDDFNumericalDataSource<Double> valueSource = XDDFDataSourcesFactory.fromNumericCellRange(sheet,new CellRangeAddress(1, rowIndex - 1, 1, 1));
XDDFChartData.Series series = doughnut.addSeries(categorySource, valueSource);
chart.plot(doughnut);
// 自定义环形图颜色
CTChart c = chart.getCTChart();
if (c.getAutoTitleDeleted() == null) {
c.addNewAutoTitleDeleted();
c.getAutoTitleDeleted().setVal(false);
int pointCount = series.getCategoryData().getPointCount();
CTPieSer ser = c.getPlotArea().getDoughnutChartArray(0).getSerArray(0);
for (int p = 0; p < pointCount; p++) {
ser.addNewDPt().addNewIdx().setVal(p);
ser.getDPtArray(p).addNewSpPr().addNewSolidFill().addNewSrgbClr().setVal(options.getColor(p));
本功能所有代码实现,摘自开源项目demo-ureport: 基于spring boot + Vue2 + Element UI + Echarts 重构ureport2中国式复杂报表设计器开源项目目录src/main/java/com/bstek/ureport/export/word/chart下
✅ Java 开发工程师,从事 Web 应用程序的研发,擅长 Spring、SpringBoot 等技术。 ✅ 热爱编程,业余时间学习新知识,通过 CSDN 记录学习心得和笔记内容。
12-25
平时的项目中,我们可能需要做大量的报告。而这些报告中,有些是固定的格式,有些是需要自定义模板来生成。如果是固定的形式的,那么相对而言是比较好做的,但要是根据模板来生成报告,比如:word、Excel或PDF。这样的话,可能需要我们花点时间去解决了。这篇博客主要是带领大家学习一下,如何用poi技术来实现生成word报告。
我们知道,poi的技术可以做出word、Excel、...
本文参考地址:https://blog.csdn.net/wangxiaoyingWXY/article/details/95377533
在参考文章的基础上,增加了扩展。感谢被参考的老哥。
代码直接从日记中复制过来的,不方便复制的可以私信发示例代码,不知道怎么上传附件了。
代码有的地方写的不合理或者错误的,请原谅没有检查仔细;
说明:在poi3.x的版本中,没有对图表的支持,至少目前为止没...
(含有文字,图像)
导出word效果如下:
思路:建立预期导出word效果,设置为模板,然后填充对应信息,注意,加粗,居中等一些图片,文字格式预先设置好。然后进行文字或者图片填充即可;
1.将word文件另存为xml格式;
2.将文件后缀xml文件打开,修改模板对应填充信息如图下,然后修改后缀名为.ftl
以上模板准备完毕。
3.代码:
@PostMapping(value = "/exportDIY")
@ResponseBody
@ApiOperat
最近项目中需要用到数据的导出到Word,本在项目中使用POI将数据导入到Word,和Excel导出类似,先将jar包导入进去(我这里就省去导jar包啦),我直接上实现过程吧!
1、导入POI jar包;
2、创建新的Word模板,如下图:
3、JSP页面按钮定义如下:
导出Word 4、JS中点击事件(包括参数传递、发送请求)代码如下:
/* 导出Word */
function
Map<String, Object> map = new HashMap<>();
map.put("name", "李四1");
map.put("age", 213123123);
XWPFDocument docume.
一个关于线程的经典面试题,要求用三个线程,按顺序打印1,2,3,4,5.... 71,72,73,74, 75. 线程1先打印1,2,3,4,5, * 然后是线程2打印6,7,8,9,10, 然后是
CSDN-Ada助手:
POI WORD生成散点图
CSDN-Ada助手:
POI 生成气泡图
CSDN-Ada助手: