网站首页 > 基础教程 正文
序言
经常在一些报告业务场景,客户常常要求可以实现导出html、pdf、xmind格式的报告文件,生成pdf格式文件,网络上有很多开源的解决方案,但是生成html格式开源免费的解决方案很少,下面我给我大家介绍一下,如何解决这些问题
- 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
每天不断更,精彩不停止,明天见,我是行者
记得留个关注、点赞、评论哟,让我们一起去看星辰大海,品味代码人生
猜你喜欢
- 2024-10-12 Excel“复制”,Word,PPT“选择性粘贴”的那点事!
- 2024-10-12 HTML&CSS基础学习笔记1.8-预格式文本
- 2024-10-12 PDF文件怎么转HTMl格式?转换途径讲解
- 2024-10-12 PDF文件可以转换成 HTML 格式的文件吗?
- 2024-10-12 PDF转成HTML格式怎么转?这个方法快来试试
- 2024-10-12 在线免费用!将 heic 格式转换成JPG/PNG的在线神器「HEICFile」
- 2024-10-12 PDF转HTML后,表格排版全乱了是怎么回事?
- 2024-10-12 pdf文件怎么转换成html网页格式?用什么方法来转换?
- 2024-10-12 怎么把Excel表格转换成HTML格式?Excel转HTML
- 2024-10-12 如何将SolidWorks Composer 3D数据发布至网页
- 最近发表
- 标签列表
-
- gitpush (61)
- pythonif (68)
- location.href (57)
- tail-f (57)
- pythonifelse (59)
- deletesql (62)
- c++模板 (62)
- css3动画 (57)
- c#event (59)
- linuxgzip (68)
- 字符串连接 (73)
- nginx配置文件详解 (61)
- html标签 (69)
- c++初始化列表 (64)
- exec命令 (59)
- canvasfilltext (58)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- node教程 (59)
- console.table (62)
- c++time_t (58)
- phpcookie (58)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)