当前位置: 首页 > news >正文

Excel转pdf实现动态数据绑定

灵感来自于前端开发的插值语法:<span>Message: {{ msg }}</span>。使用Excel作为报表编辑器,实现pdf报表的输入和归档,是一个不错的主意。
定义一个Excel模板,绑定数据模型Model,在单元格中插入类似于这样的语法{{ m.Name }}。解析Excel的每个sheet,遍历单元格,求值后渲染到pdf上。
1. 实现了单元格合并的编排逻辑
2. 实现了绑定数据列表的语法,自动向下扩展
3. 使用JS语法实现数据绑定
4. 实现了插入图片
5. 实现了自动分页/手动分页
6. 实现了页眉和页脚
7. 实现了固定表头
8. 实现了多个sheet组合成一个pdf

下面的a.xlsx模板定义,后面是生成的pdf文件

using ExReport;XPage page = new XPage();
page.Model = new
{Desp = "测试升级",Result = "hello 这是一个Result字段",Logo= "https://www.baidu.com/img/PCtm_d9c8750bed0b3c7d089fa7d55720d6cf.png",ImageFile = "https://www.topsong.net/img/sign.png",Todos = new[] {new { Name="任务1",Desp="肝主疏泄,调节全身气机,影响情绪、消化、气血运行等。肝经通畅则情绪舒畅,气机调达。" },new { Name="任务2",Desp="肝主疏泄,调节全身气机,影响情绪、消化、气血运行等。肝经通畅则情绪舒畅,气机调达。" },new { Name="任务3",Desp="肝主疏泄,调节全身气机,影响情绪、消化、气血运行等。肝经通畅则情绪舒畅,气机调达。" },new { Name="任务4",Desp="肝经起于足大趾外侧(​​大敦穴​​),沿足背向上,经过内踝前,沿小腿内侧上行至膝内侧,再沿大腿内侧中线进入阴毛中,环绕生殖器,上达小腹,夹胃旁,属肝络胆,继续上行通过膈肌,分布于胁肋部,沿喉咙后方上行至鼻咽部,连接目系(眼与脑相连的组织),最后上达前额与督脉会于巅顶。" },new { Name="任务5",Desp="肝有贮藏和调节血液的功能,肝经与月经、筋脉活动密切相关。" },new { Name="任务6",Desp="肝经起于足大趾外侧(​​大敦穴​​),沿足背向上,经过内踝前,沿小腿内侧上行至膝内侧,再沿大腿内侧中线进入阴毛中,环绕生殖器,上达小腹,夹胃旁,属肝络胆,继续上行通过膈肌,分布于胁肋部,沿喉咙后方上行至鼻咽部,连接目系(眼与脑相连的组织),最后上达前额与督脉会于巅顶。" },new { Name="任务7",Desp="肝有贮藏和调节血液的功能,肝经与月经、筋脉活动密切相关。" },}
};
var pdf= await page.RenderPdf("a.xlsx");
pdf.Save("report.pdf");Console.WriteLine("ok");

http://www.dtcms.com/a/262827.html

相关文章:

  • [附源码+数据库+毕业论文]基于Spring+MyBatis+MySQL+Maven+jsp实现的校园服务平台管理系统,推荐!
  • 【甲方安全建设】敏感数据检测工具 Earlybird 安装使用详细教程
  • 6月30日作业
  • AR 学习:开启未来学习新视界​
  • 深入解析TCP:可靠传输的核心机制与实现逻辑
  • 7,FreeRTOS列表与列表项的插入删除
  • docker安装MySQL,创建MySQL容器
  • 认识 Spring AI
  • 根据OS自动加载不同的native库和本地jar包
  • Linux驱动学习day11(定时器)
  • 百度文库智能PPT月访问量超3400万,用户规模翻倍增长
  • demo01:基于 SpringMVC 的用户管理系统
  • AlpineLinux安装部署MongoDB
  • Clickhouse源码分析-TTL执行流程
  • 杂谈-架构时代演进
  • C语言常用转换函数实现原理
  • 50天50个小项目 (Vue3 + Tailwindcss V4) ✨ | ThemeClock(主题时钟)
  • Windows环境下Docker容器化的安装与设置指南
  • 【第二章:机器学习与神经网络概述】04.回归算法理论与实践 -(1)线性回归模型
  • AWS WebRTC:通过shell分析并发启动master后产生的日志文件
  • 御控助力打造物联网实训室,赋能职业教育高质量发展
  • 大模型-分布式推理简介
  • Linux基础环境开发工具apt、vim和gcc/g++
  • STC8H驱动两相四线步进电机
  • 基于llama-factory+ollama+vllm加速大模型训推生产
  • 大数据(4)-spark
  • Windows 开发环境部署指南:WSL、Docker Desktop、Podman Desktop 部署顺序与存储路径迁移指南
  • STM32-第一节-新建工程,GPIO,点亮LED,蜂鸣器
  • GC3910S:一款高性能双通道直流电机驱动芯片
  • 【Wireshark】高级过滤技巧精讲