没有找到合适的产品?
联系客服协助选型:023-68661681
提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
转帖|行业资讯|编辑:龚雪|2022-11-28 10:32:10.463|阅读 140 次
概述:本文将为大家介绍如何在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@evget.com
文章转载自:葡萄城Parasoft SOAtest作为一款企业级API测试工具,通过自动扫描API接口、智能分析变更影响、优化测试,执行以及支持测试用例共享与版本控制等功能,有效解决了这些痛点,显著提升了测试效率和资产可维护性,为测试团队提供了强大的支持。
Parasoft Jtest作为一款人工智能驱动的Java 开发人员生产力解决方案,凭借智能测试影响分析技术,精准识别受影响测试用例,关联测试数据确保全面性和准确性,还能即时反馈问题,有效解决上述痛点,助力企业高效推进软件项目。
嵌入式软件测试工具Parasoft C/C++test 聚焦高可靠性系统开发,提供核心能力三重保障:在编码阶段左移拦截缺陷降低修复成本;自动检查MISRA/CERT/AUTOSAR等安全标准确保合规性;AI智能测试动态优化用例覆盖深度。三者协同构建嵌入式软件质量防护体系,适用于车载、航天等安全关键领域。
企业级软件测试方案Parasoft C/C++test通过预置模板实现快速落地,利用 Docker 镜像固化测试环境确保一致性,并借助一键式集成能力简化复杂流程。帮助团队实现无缝协作与高效交付,避免陷入重复的配置与调试泥潭。
面向企业级应用开发、基于HTML5的纯JavaScript电子表格控件。
SpreadJS在线表格编辑器SpreadJS在线表格编辑器是类似在线Excel功能和外观的表格编辑程序,是SpreadJS桌面设计器的在线版本,并且提供了源代码,用户可以任意扩展自定制。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@evget.com
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢
慧都科技 版权所有 Copyright 2003-
2025 渝ICP备12000582号-13 渝公网安备
50010702500608号