转载:国产操作系统麒麟v10、UOS在线打开excel文件并动态赋值

news/2024/9/20 3:10:00/文章来源:https://www.cnblogs.com/lhl77/p/18412520

在实际的开发过程中,经常会遇到数据库中的数据填充到excel生成一份正式文件的功能,PageOffice客户端控件支持在线预览Excel文件时,通过Workbook对象来实现对Excel文件的数据填充功能,如果只是简单的填充一下数据,那么通过调用Sheet对象的openCell方法获取到Cell对象并赋值即可

Java命名空间:com.zhuozhengsoft.pageoffice.excel

后端springboot项目关键代码:

在后端编写代码调用webOpen方法打开文件,并创建Workbook对象填充数据

保存文件的服务器端后台方法为:saveFile

  1. PageOfficeCtrl poCtrl = new PageOfficeCtrl(request);
  2. //定义Workbook对象
  3. WorkbookWriter wb = new WorkbookWriter ();
  4. //定义Sheet对象,"Sheet1"是打开的Excel表单的名称
  5. SheetWriter sheet = wb.openSheet("Sheet1");
  6. //定义Cell对象
  7. ExcelCellWriter cellB4 = sheet.openCell("B4");
  8. //给单元格赋值
  9. cellB4.setValue("1月");
  10. ExcelCellWriter cellC4 = sheet.openCell("C4");
  11. cellC4.setValue("300");
  12. ExcelCellWriter cellD4 = sheet.openCell("D4");
  13. cellD4.setValue("270");
  14. ExcelCellWriter cellE4 = sheet.openCell("E4");
  15. cellE4.setValue("270");
  16. ExcelCellWriter cellF4 = sheet.openCell("F4");
  17. DecimalFormat df = (DecimalFormat) NumberFormat.getInstance();
  18. cellF4.setValue(df.format(270.00 / 300 * 100) + "%");
  19. poCtrl.setWriter(wb); //必须。
  20. poCtrl.setSaveFilePage("saveFile"); // 设置保存文件的接口地址
  21. //webOpen的第一个参数支持能够输出下载文件的Url相对地址或者文件在服务器上的磁盘路径两种方式
  22. poCtrl.webOpen("D:\\documents\\test.xlsx", OpenModeType.xlsNormalEdit, "张三");

在线预览效果:

在SaveFilePage属性指向的saveFile接口中,创建FileSaver对象处理文件的保存工作,把赋值后的文件保存到服务器

  1. FileSaver fs = new FileSaver(request, response);
  2. fs.saveToFile("D:\\documents\\test.xlsx");
  3. fs.close();

另存文件到客户端是js方法

前端vue项目关键代码:

  1. OnPageOfficeCtrlInit() {
  2. // PageOffice的初始化事件回调函数,您可以在这里添加自定义按钮
  3. pageofficectrl.AddCustomToolButton("保存文件到服务器", "Save()", 0);
  4. pageofficectrl.AddCustomToolButton("另存文件到客户端", "SaveAs()", 0);
  5. }
  6. Save() {
  7. pageofficectrl.WebSave();
  8. }
  9. SaveAs() {
  10. pageofficectrl.ShowDialog(3);
  11. }

vue+springboot项目集成pageoffice参考文档:PageOffice最简集成代码(VUE+Springboot) | PageOffice 开发者中心

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/796631.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

构建 openEuler Embedded 24.03 LTS (Phytium BSP)

Ubuntu 24.04 构建 openEuler Embedded 24.03 LTS (Phytium BSP) 参考链接:Phytium-OpenEuler-Embedded-BSP - Gitee 1 介绍 本文档介绍如何在Ubuntu 24.04上构建openEuler Embedded 24.03 LTS (Phytium BSP)。对计算机配置有要求。 2 脚本 将以下内容复制到新文件oe_phy.sh,…

架构师备考的一些思考(四)

前言 对于数学,我们之前学的是对的,但不是真的,所以我们没有数学思维。 对于计算机,我们学校教的是对的,但不是真的,所以仅仅从学校学习知识的应届毕业生,不论985,211,本科,专科都一样,都是一张白纸,啥也不会。 案例分析 案例分析是5选3,第一题必答。问题一的类型 …

字符串-面试题

字符串的相关面试题String 的不可变性String底层是一个 final修饰的字符数组,当改变String的值时,会在常量池生成新的字符串,字符数组的地址指向常量池中新的字符串StringBuffer的扩容原理String、StringBuffer、StringBuilder三者对比Strings是不可变的字符序列,底层是一个…

单考一个OCP认证?还是OCP和OCM认证都要考?

​ Oracle的OCP认证是数据库行业非常经典的一个认证,从事数据库行业的人都建考一个 Oracle OCP 认证。 OCP认证内容包括: OCA部分:数据库基础知识、SQL 语言使用、基本的数据库管理技能等,如数据库安装与配置、理解数据库架构、管理数据库实例、备份和恢复,以及使用 SQL 进…

为什么那么多开源软件都用netty来做网络通信编程框架?

1、用netty来做网络通信编程框架而不是我们自己去基于JDK NIO来编程的好处有如下这些: (1)、netty支持常见的应用层协议(如:HTTP、FTP、DNS等),还可以支持自定义协议; (2)、netty可以自动解决网络编程当中的粘包与半包问题; (3)、netty还可以支持流量整形; (4)、netty对…

USB总线-Linux内核USB3.0设备控制器中断处理程序分析(九)

1.概述 USB设备枚举、请求处理、数据交互都涉及USB设备控制器中断。当有事件发生时,USB设备控制器首先将事件信息通过DMA写入到事件缓冲区中,然后向CPU发出中断,随后CPU调用中断处理函数开始处理中断事件。 2.事件 dwc3 USB设备控制器事件使用dwc3_event数据结构描述,由4个…

通义灵码企业代码补全增强使用实践

通义灵码提供了企业代码补全增强的能⼒,在开发者使⽤通义灵码 IDE 插件的⾏间代码补全时,可以结合企业上传的代码库作为上下⽂进⾏⾏间代码补全,使代码补全更加贴合企业代码规范、业务特点。本⽂将分享如何构建⾼质量的企业代码库,以及开发者在前端和后端开发场景的使⽤实践…

LeetCode算法—分治法

纵有疾风起;人生不言弃思路:分治法的核心思想是“分而治之”,即将一个复杂的问题分成多个较小的子问题,分别求解这些子问题,然后将子问题的解合并,得到原问题的解。具体到求众数的问题上,分治法通过递归地将数组分成两部分,分别找出每一部分的众数,最后通过合并步骤来…

学习高校课程-软件设计模式-OOP 和 UML 类图 OOP 与 Java(lec1)

OOP 和 UML 类图 OOP 与 JavaLecture 1:OOP and UML Class DiagramsOOP with Java OOP 和 UML 类图 OOP 与 Java Object-Oriented Programming 面向对象编程Class Hierarchies 类层次结构 Superclass and subclass 超类和子类Pillars of Object-Oriented Programming 面向对象…

路由器刷机踩坑

ssh/telnet 路由器一般是用23端口,也就是telnet。具体如何开启ssh看型号。 breed breed是一个bootloader,在功能上类似于手机的Rec,用于提供一个界面刷入不同分区的镜像(至少不用敲命令行了)。 注意 breed不能用于刷入原厂固件,否则会砖(我就是这么干的)。 这是恩山论坛…

Pbootcms网站挂马解决方案(详细说明)

当你的PbootCMS网站被挂马时,应该立即采取措施来清除恶意代码,并加强系统的安全性,防止未来的攻击。以下是一个详细的解决方案: 1. 备份现有数据 在开始任何修复工作之前,首先备份你的网站数据,包括数据库和文件系统。这一步骤是为了防止在修复过程中丢失重要数据。 2. 检…

SVN在MacOS下报E230001错误

#macos #rider for Mac #SVN #E230001svn为什么会报E230001错误呢?根据详细错误信息Server SSL certificate verification failed: certificate issued知道这是https证书有问题,不用管它证书了,这里介绍一种简单的方法。 首先,打开终端(terminal,mac os/linux一般都是带…