没有找到合适的产品?
联系客服协助选型:023-68661681
提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
转帖|行业资讯|编辑:龚雪|2022-11-28 10:32:10.463|阅读 136 次
概述:本文将为大家介绍如何在Angular中使用SpreadJS直接在页面端导入和导出 Excel 文件,欢迎下载相关组件体验~
# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>
相关链接:
在之前的文章中,我们为大家详细介绍了如何在JavaScript、React中使用SpreadJS导入和导出Excel文件的方法(点击这里回顾>>),本文我们将为大家介绍该问题在Angular中的实现。
Excel 电子表格自 1980 年代以来一直为各行业所广泛使用,至今已拥有超过3亿用户,大多数人都熟悉 Excel 电子表格体验。许多企业在其业务的各个环节中使用了 Excel 电子表格进行预算和规划。
通常情况下,刚开始时我们的业务流程中的数据简单,也不涉及复杂的格式和数据关系。但随着组织的发展,可能很难不开始依赖 Excel 的功能。
SpreadJS可以为我们的Web应用提供更好的交互体验,以及更灵活的权限控制、数据整合、数据可视化、战略绩效测量 (SPM)、复杂的统计分析等。多年来,Excel 兼容性一直是SpreadJS最重要的功能之一。
SpreadJS 提供了熟悉的 Excel 电子表格界面。用户可以通过SpreadJS直接在页面端导入和导出 Excel 文件,甚至可以在网页上构建企业的绩效和业务仪表板——这一切无需依赖 Excel。
本文演示了如何在 Angular 环境中使用 SpreadJS 导入和导出 Excel 电子表格。
以下是在 Angular 中导入和导出 Excel 电子表格的步骤:
在应用程序中安装SpreadJS组件
应该注意的是,由于我们使用的是 Angular CLI,我们需要确保它与 NPM 一起安装:
npm install -g @angular/cli
由于我们将使用 SpreadJS 的 Excel 导入和导出功能,因此我们需要 ExcelIO 组件。你可以使用 NPM 安装它和基本的 SpreadJS 文件:
npm install @grapecity/spread-sheets @grapecity/spread-excelio @grapecity/spread-sheets-angular
实例化SpreadJS组件
SpreadJS可以添加到app.component.html 页面,如下所示:
<gc-spread-sheets [backColor]=”spreadBackColor” [hostStyle]="hostStyle" (workbookInitialized)="workbookInit($event)"> </gc-spread-sheets>
实例化 SpreadJS 组件并在 app.component.ts 文件中创建 ExcelIO 类的对象,代码如下:
@Component({ selector: 'app-root', templateUrl: './app.component.html', styleUrls: ['./app.component.css'] }) export class AppComponent { spreadBackColor = 'aliceblue'; hostStyle = { width: '95vw', height: '80vh' }; private spread; private excelIO; constructor() { this.spread = new GC.Spread.Sheets.Workbook(); this.excelIO = new Excel.IO(); } workbookInit(args: any) { const self = this; self.spread = args.spread; const sheet = self.spread.getActiveSheet(); sheet.getCell(0, 0).text('Test Excel').foreColor('blue'); sheet.getCell(1, 0).text('Test Excel').foreColor('blue'); sheet.getCell(2, 0).text('Test Excel').foreColor('blue'); sheet.getCell(3, 0).text('Test Excel').foreColor('blue'); sheet.getCell(0, 1).text('Test Excel').foreColor('blue'); sheet.getCell(1, 1).text('Test Excel').foreColor('blue'); sheet.getCell(2, 1).text('Test Excel').foreColor('blue'); sheet.getCell(3, 1).text('Test Excel').foreColor('blue'); sheet.getCell(0, 2).text('Test Excel').foreColor('blue'); sheet.getCell(1, 2).text('Test Excel').foreColor('blue'); sheet.getCell(2, 2).text('Test Excel').foreColor('blue'); sheet.getCell(3, 2).text('Test Excel').foreColor('blue'); sheet.getCell(0, 3).text('Test Excel').foreColor('blue'); sheet.getCell(1, 3).text('Test Excel').foreColor('blue'); sheet.getCell(2, 3).text('Test Excel').foreColor('blue'); sheet.getCell(3, 3).text('Test Excel').foreColor('blue'); }
创建一个接受 XLSX 文件的输入元素
对于导入,我们将创建一个接受 XLSX 文件的输入元素。让我们在 app.component.html 中添加以下代码:
<div class='loadExcelInput'> <p>Open Excel File</p> <input type="file" name="files[]" multiple id="jsonFile" accept=".xlsx" (change)="onFileChange($event)" /> </div>
添加导入代码
ExcelIO 对象打开所选文件并以 相应格式返回结果。这个 数据可以被 SpreadJS 直接理解,所以我们将在 onFileChange() 函数中为 change 事件编写导入代码。
添加导出代码
同样,让我们添加一个按钮来处理导出功能。要添加导出按钮,我们可以使用:
<div class='exportExcel'> <p>Save Excel File</p> <button (click)="onClickMe($event)">Save Excel!</button> </div>
我们还需要处理这个按钮的点击事件并在那里编写我们的代码。 ExcelIO 可将其保存为 BLOB,稍后需要将此 blob 数据传递给文件保护程序组件的 saveAs() 函数。
应该注意的是,我们使用了文件保护程序组件来实现导出功能。要在你的项目中包含文件保护程序,请按照以下步骤操作:
"scripts": ["./node_modules/file-saver/FileSaver.js"]**
import {saveAs} from 'file-saver';
现在已经可以在 Angular 中使用 SpreadJS 成功导入和导出 Excel 文件了。
本文内容源自
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@wqylolg.cn
文章转载自:HOOPS Visualize凭借静态模型、LOD分块、多线程渲染及out‑of‑core点云处理等技术,在大模型可视化领域表现优异。无论是汽车、航空航天,还是建筑BIM与AR/VR应用,它都能提供流畅的交互和高保真的渲染效果,为各行业的数字化转型提供强大支持。
Axure RP支持创建高保真的动态交互原型,通过事件触发器、条件逻辑和动作,模拟真实用户场景,让设计意图一目了然。Axure RP还能生成详细的设计流程图,并一键发布到云端,方便团队协作和实时反馈。
Parasoft Jtest的静态分析功能通过模式匹配、数据流分析等技术,在编码阶段实时发现并修复代码缺陷,提升代码质量和可靠性。Jtest还能识别安全风险,确保符合多种安全标准,并利用AI技术优化问题修复流程,加速修复。
时序数据库(TSDB)因应对高频率时间数据存储与分析需求而兴起,成为传统关系型数据库(RDBMS)的有力补充。本文将探讨传统数据库与时序数据库的融合与协作方式,分析它们在不同应用场景下的配合实践,以及云服务和工具在简化多数据库管理中的角色。通过合理的技术选型与整合,企业能够更高效地释放时间数据的价值。
面向企业级应用开发、基于HTML5的纯JavaScript电子表格控件。
SpreadJS在线表格编辑器SpreadJS在线表格编辑器是类似在线Excel功能和外观的表格编辑程序,是SpreadJS桌面设计器的在线版本,并且提供了源代码,用户可以任意扩展自定制。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@wqylolg.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢