整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

数据可视化升级:将CSV文件快速转换成HTML表格

数据可视化升级:将CSV文件快速转换成HTML表格

?在数据驱动的今天,如何高效地展示和分析数据成为了一个重要课题。CSV转HTML表格工具(CSV转HTML表格 - 在线工具 | 图形开发学院

经常在一些报告业务场景,客户常常要求可以实现导出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

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

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

、在exl中编辑好你想要的表格形式,复制有内容的表格到dw右侧,如图:


2、将途中宽度去除,选中一个宽度,按Ctrl+F,点击“替换全部”。如图:


3、途中选中部分换成表格的表头代码:


表头代码:<table align="center" border="1" cellpadding="0" cellspacing="1" class="biaoge" style="text-align:center" width="100%">

<tbody>


4、将表格标题中的td和/td改成th和/th。如图:


5、选中右侧表格中有链接的表格,选择上方窗口中的属性面板,在html状态下,目标选择”_blank”。



6、左侧代码就是汇总表格的代码,复制到后台内容页的源码状态下即可。