界面开发控件DevExpress Spreadsheet 使用教程:如何从数据库保存和加载文档
DevExpress技术交流群2:775869749 欢迎一起进群讨论
DevExpress Universal Subscription拥有.NET开发需要的所有平台控件,包含600多个UI控件、报表平台、DevExpress Dashboard eXpressApp 框架、适用于 Visual Studio的CodeRush等一系列辅助工具。
屡获大奖的软件开发平台DevExpress Universal 2020年全新首发v20.1,最新版拥有众多新产品和数十个具有高影响力的功能,可为桌面、Web和移动应用提供直观的解决方案,全面解决各种使用场景问题。
系统背景
- 平台:ASP.NET MVC
- 产品:MVC Spreadsheet
实现步骤:
1. 创建一个返回Spreadsheet设置的帮助器类,确保指定Name和CallbackRouteValues属性:
public static class SpreadsheetSettingsHelper { public static SpreadsheetSettings GetSpreadsheetSettings() { SpreadsheetSettings settings = new SpreadsheetSettings(); settings.Name = "SpreadsheetName"; settings.CallbackRouteValues = new { Controller = "Home", Action = "SpreadsheetPartial" }; ... return settings; } }
2. 在这些设置中处理Saving事件,然后使用SaveCopy方法将Spreadsheet文档保存到byte[] 。然后将结果保存到数据库中:
settings.Saving = (s, e) => { byte[] docBytes = SpreadsheetExtension.SaveCopy("SpreadsheetName", DocumentFormat.Xlsx); DataHelper.SaveDocument(docBytes); e.Handled = true; };
3. 在带有Spreadsheet部分视图和控制器中使用帮助器:
@Html.DevExpress().Spreadsheet(SpreadsheetSettingsHelper.GetSpreadsheetSettings()).Open(Model.DocumentId, Model.DocumentFormat, () => { return Model.Document; }).GetHtml() public ActionResult SpreadsheetPartial() { // Spreadsheet's CallbackRouteAction method return SpreadsheetExtension.GetCallbackResult(SpreadsheetSettingsHelper.GetSpreadsheetSettings()); }
变更记录:
16.1:
Spreadsheet现在允许处理Controller中的某些操作,因此可以使用Spreadsheet ribbon的'Save'按钮将文档保存到数据。
15.1:
现在,您可以使用SpreadsheetExtension.Open方法加载文档,并调用SpreadsheetExtension.SaveCopy方法以保存更改。
对于旧版本:
使用ISpreadsheetComponent.LoadDocument加载文档,并使用ISpreadsheetComponent.SaveDocument - 保存文档。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
2018-09-21 DevExpress v18.1新版亮点——DevExtreme篇(四)