空白键|基于Excel和Java自动化工作流程:发票生成器示例( 二 )
用户权限控制在此应用程序中 , 客户数据是从数据库中填充的 , 不希望用户可以更改 , 只可以选择这些记录 。 因此 , 通过以下方式限制了它们在用户界面上可以执行的操作:
隐藏工具栏和上下文菜单:
通过指定使工作表标签可见showSheetbar="true" 。 默认情况下 , 其他所有内容(如工具栏 , 公式栏和上下文菜单)都是不可见的 。 这样 , 用户就不会无意间更改了UI上显示的内容 。
启用工作表保护并禁用添加工作表
通过以下方式启用工作表保护:protectSheet()将所有工作表设为只读 , 并禁止用户通过添加工作表disableUserAction() 。
private void limitAccess() {for (int i = 0; i < spreadsheet.getBook().getNumberOfSheets(); i++) {Ranges.range(spreadsheet.getBook().getSheetAt(i)).protectSheet(SELECTION_FILTER);}spreadsheet.disableUserAction(AuxAction.ADD_SHEET, true);}工作表保护下的可编辑区域
在Excel中 , 可以取消选中锁定状态以在工作表保护下使单元格可编辑 。 其他单元将保持只读状态 。 使用此设置 , 可以在受保护的图纸中允许一定范围的可编辑区域 。 导入到Keikai后 , 此设置将保留 , 因此可以在准备源文件时从Excel端完成 。
重用在应用程序中 , 有2个Excel模板 , 想一次导入它们 , 然后在需要时使用它们 。
Keikai Importer将Excel xlsx文件转换为Book 。 可以将Book分配给Spreadsheet并将其呈现给浏览器 。 或者 , 可以直接操作Bookwith Range , 而无需将其分配给Spreadsheet 。 最常见的用法是从模板书克隆表或复制单元格 。 每个需要Excel模板的人都可以从其中获取内容 , 而无需再次导入模板文件 。 在应用程序中 , 将Book2个模板Excel文件的对象存储在Map(templateWarehouse)中 , 以备将来使用:
private static HashMap templateWarehouse = new HashMap<>();private static Importer importer = Importers.getImporter();...private void importInvoiceTemplate() {...for (String fileName : templateFileNameList) {if (!templateWarehouse.containsKey(fileName)) { //avoid importing againtemplateWarehouse.put(fileName, importer.imports(new File(WebApps.getCurrent().getRealPath(BookUtil.DEFAULT_BOOK_FOLDER), fileName), fileName));}}...}importer.imports(new File(...)) 返回一个Book 。
总结【空白键|基于Excel和Java自动化工作流程:发票生成器示例】本文中我们演示了如何将现有的手动Excel文件的流程转换为具有Excel文件 , Java和Keikai的Web应用程序 。 该应用程序与后端服务集成在一起 , 包括数据库和用户权限控制 。 可以将相同的技术应用于涉及基于Excel的流程的任何其他方案 , 将手动工作流转变为自动化和集成的Web Apps 。
推荐阅读
- 指数债券|美债收益率曲线的陡平之辨:基于供需视角的分析
- 空白键|Cocos Creator中坐标空间的转换
- 怅然|基于Ansible和Devops的一键测试环境部署实践
- 三好先森|基于JeecgBoot快速开发简历库系统,开源项目,实操分享
- 空白键|Visual Studio 2019新特性:位操作
- 空白键|git 如何比较不同分支的差异
- 爱与否科技|决定着财务人员的薪资,Excel水平的高低
- 北京青年报|民政局门前“演离婚”博眼球 此类视频监管存在空白
- 电脑使用技巧|Excel催化剂-Unicode文本及Html转义字符转换
- 电脑使用技巧|你别笑我,我用EXCEL就可以做大数据
