国产操作系统麒麟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 开发者中心

相关推荐
摇滚侠2 小时前
Spring Boot 3零基础教程,WEB 开发 静态资源默认配置 笔记27
spring boot·笔记·后端
wb043072014 小时前
性能优化实战:基于方法执行监控与AI调用链分析
java·人工智能·spring boot·语言模型·性能优化
Chen-Edward7 小时前
有了Spring为什么还有要Spring Boot?
java·spring boot·spring
magic334165637 小时前
Springboot整合MinIO文件服务(windows版本)
windows·spring boot·后端·minio·文件对象存储
小学鸡!8 小时前
Spring Boot实现日志链路追踪
java·spring boot·后端
番茄Salad8 小时前
Spring Boot临时解决循环依赖注入问题
java·spring boot·spring cloud
Olrookie10 小时前
若依前后端分离版学习笔记(二十)——实现滑块验证码(vue3)
java·前端·笔记·后端·学习·vue·ruoyi
duansamve10 小时前
Vue3和vue2的Diff算法有何差异?
vue·vue3·vue2·diff
best_scenery10 小时前
excel绘制折线图
excel·分布图
大气层煮月亮10 小时前
Oracle EBS ERP开发——报表生成Excel标准模板设计
数据库·oracle·excel