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

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

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

后端springboot项目关键代码:

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

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

java 复制代码
PageOfficeCtrl poCtrl = new PageOfficeCtrl(request);

//定义Workbook对象
Workbook wb = new Workbook();
//定义Sheet对象,"Sheet1"是打开的Excel表单的名称
Sheet sheet = wb.openSheet("Sheet1");
//定义Cell对象
Cell cellB4 = sheet.openCell("B4");
//给单元格赋值
cellB4.setValue("1月");
Cell cellC4 = sheet.openCell("C4");
cellC4.setValue("300");
Cell cellD4 = sheet.openCell("D4");
cellD4.setValue("270");
Cell cellE4 = sheet.openCell("E4");
cellE4.setValue("270");
Cell cellF4 = sheet.openCell("F4");
DecimalFormat df = (DecimalFormat) NumberFormat.getInstance();
cellF4.setValue(df.format(270.00 / 300 * 100) + "%");

poCtrl.setWriter(wb); //必须。
poCtrl.setSaveFilePage("saveFile"); // 设置保存文件的接口地址
//webOpen的第一个参数支持能够输出下载文件的Url相对地址或者文件在服务器上的磁盘路径两种方式
poCtrl.webOpen("D:\\documents\\test.xlsx", OpenModeType.xlsNormalEdit, "张三");

在线预览效果:

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

java 复制代码
FileSaver fs = new FileSaver(request, response);
fs.saveToFile("D:\\documents\\test.xlsx");
fs.close();

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

前端vue项目关键代码:

javascript 复制代码
OnPageOfficeCtrlInit() {
    // PageOffice的初始化事件回调函数,您可以在这里添加自定义按钮
    pageofficectrl.AddCustomToolButton("保存文件到服务器", "Save()", 0);
    pageofficectrl.AddCustomToolButton("另存文件到客户端", "SaveAs()", 0);

}
Save() {
    pageofficectrl.WebSave();
}
SaveAs() {
    pageofficectrl.ShowDialog(3);
}

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

相关推荐
reasonsummer11 小时前
【办公类-53-12】20261016(预测)Python模仿制作2026学年第二学期校历(excel+pdf,上下学期都包含)
pdf·excel
我是人✓11 小时前
SpringBoot项目的五种创建方式
java·spring boot·后端
泡海椒14 小时前
JQuick-Excel 自定义 SPI Provider:用 fullName 扩展 TRANSFORM 函数
驱动开发·excel
古法老登瞎折腾14 小时前
大数据智能运维实战(一):机器和任务数据都有了,如何用 MCP 搭建运维助手?
大数据·运维·spring boot·spring ai·mcp
企业数字化笔记15 小时前
多租户配额怎么控制?用量口径、并发预留与超额处理的实现方法
java·数据库·spring boot
那年那棵树17 小时前
基于WebGis的人生如旅地图系统
前端·arcgis·vue·课程设计
WeiXin_DZbishe17 小时前
基于springboot装修风格选择系统的设计与开发-计算机毕设【课程设计】77964
java·vue.js·spring boot·后端·python·php·课程设计
十年Java程序媛18 小时前
Java 多线程基础与锁机制详解|进程线程、锁升级、synchronized 与 Lock 对比
java·开发语言·spring boot
泡海椒19 小时前
从 XML 到 Excel:JQuick-Excel 代理与解析器如何协作
xml·excel
Q264336502321 小时前
【有源码】基于SpringBoot+Vue的居民健康体检与慢病干预管理系统-面向智慧医疗的体检预约与健康知识服务平台
java·vue.js·spring boot·mysql·毕业设计·javaweb·课程设计