数据如何转成html表格、pdf、xmind文件格式下载?

createh52个月前 (02-01)技术教程17

序言

经常在一些报告业务场景,客户常常要求可以实现导出html、pdf、xmind格式的报告文件,生成pdf格式文件,网络上有很多开源的解决方案,但是生成html格式开源免费的解决方案很少,下面我给我大家介绍一下,如何解决这些问题

pdf

  • iText,生成PDF文档,还支持将XML、Html文件转化为PDF文件;
  • Apache PDFBox,生成、合并PDF文档;
  • docx4j,生成docx、pptx、xlsx文档,支持转换为PDF格式。

这些框架都支持,这里不再详细介绍,具体用户可以在github上,进行查阅

html

可以用一些收费的框架,可以做到,比如Aspose,但是在这里介绍一个思路,去解决这个问题,大家肯定对导出excel表格很熟悉把,填充数据与表格,然后还可以设置标头样式与单元格样式,那么我们可以按照这个思路,进行开发一个简易版本的导出html文件。

  • 代码逻辑
@Test
    void listToHtmlTableTest() throws IOException {
        List<String> headers = List.of("Name", "Age", "City");
        List<List<String>> data = List.of(
                List.of("gz", "25", "beijing"),
                List.of("jelly", "30", "he ze")
        );
        //头样式
        String headStyle = "border: 1px solid #000000;";
        //表格样式
        String bodyStyle="border: 1px solid #000000;";
        //转成html标签
        String htmlTable = HtmlTable.convertDataToHtml(headers, data,headStyle,bodyStyle);
        //输出html文件
        String fileName = "output.html";
        try (BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(fileName))) {
            bufferedWriter.write(htmlTable);
        } catch (IOException e) {
            e.printStackTrace();
        }

    }

 public static String convertDataToHtml(List<String> headers, List<List<String>> data,String headStyle,String bodyStyle) {
        StringBuilder html = new StringBuilder();
        html.append("<table>");
        // table headers
        html.append("<thead><tr>");
        for (String header : headers) {
            html.append("<th style=\"").append(headStyle).append("\">").append(header).append("</th>");
        }
        html.append("</tr></thead>");

        // table body
        html.append("<tbody>");
        for (List<String> row : data) {
            html.append("<tr>");
            for (String cell : row) {
                html.append("<td style=\"").append(bodyStyle).append("\">").append(cell).append("</td>");
            }
            html.append("</tr>");
        }
        html.append("</tbody>");
        html.append("</table>");
        return html.toString();
    }代码运行效果
  • 代码运行效果
  • 优化点

可配置样式

导出封装

支持图片

支持模板导出

xmind

开源sdk:https://github.com/xmindltd/xmind-sdk-js

需要前端实现,因为官方没有提供java版本sdk

每天不断更,精彩不停止,明天见,我是行者

记得留个关注、点赞、评论哟,让我们一起去看星辰大海,品味代码人生

相关文章

Hutool Java工具类库导出Excel,超级简单

作者:程序猿的内心独白原文链接:http://suo.im/5Zxx2L前言在开发应用系统的时候,导出文件是必不可放的功能。以前用过POI、easyexcel等工具的导入导出功能,但总感觉太麻烦了,代...

java大牛告诉你这样导出excel更加简单高效

1.简述在java开发项目,我们经常会遇到将数据导出到Excel表格的需求 ,比较流行的使用POI、EasyExcel等。Apache POI是一个Java API,用于处理Microsoft Off...

【干货】如何使用Java实现百万数据的Excel导出功能?

Java作为一种常用的编程语言,在实现大量数据导出功能时具有很高的效率和可扩展性。本文将介绍如何使用Java实现百万数据的Excel导出功能。一、需求分析在很多实际应用场景中,我们需要将大量数据导出到...

盘点三种Excel转SHP文件的方法(附练习数据下载)

概述数据的获取渠道是多种多样的,获取的数据格式也是多种多样,作为一名GISer,需要熟练掌握各种格式的数据之间的转换,例如本文要介绍的Excel格式的数据,经常会遇到,如果需要转换为SHP格式应该怎么...

程序员:超级简单导出Excel 工具,Hutool Java工具类库

前言在开发应用系统的时候,导出文件是必不可放的功能。以前用过POI、easyexcel等工具的导入导出功能,但总感觉太麻烦了,代码特别多,感觉并不是很好用。今天给大家介绍一款新工具,java工具类库H...

【Java技巧】高效数据传输:Java通过绑定快速将数据导出至Excel

前言把数据导出至 Excel 是很常见的需求,而数据的持久化,往往又放在数据库中。因此把数据库中的数据导出到 Excel中,成了非常普遍的一个需求。以关系型数据库为例,数据表是一个二维矩阵,但是为了易...