开发者论坛

 找回密码
 注册 (请使用非IE浏览器)
查看: 5351|回复: 0

Spreadsheet - 如何从数据库保存和加载文档

[复制链接]

0

精华

8

贡献

1768

赞扬

特约版主

帖子
583
软币
4524
在线时间
275 小时
注册时间
2019-2-21
发表于 2020-9-21 09:44:27 | 显示全部楼层 |阅读模式
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属性:
[C#] 纯文本查看 复制代码
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[] 。然后将结果保存到数据库中:
[C#] 纯文本查看 复制代码
settings.Saving = (s, e) => 
{ 
byte[] docBytes = SpreadsheetExtension.SaveCopy("SpreadsheetName", DocumentFormat.Xlsx); 
DataHelper.SaveDocument(docBytes); 
e.Handled = true; 
};

3. 在带有Spreadsheet部分视图和控制器中使用帮助器:
[C#] 纯文本查看 复制代码
@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 - 保存文档。

回复

使用道具 举报

Archiver|手机版|小黑屋|开发者网 ( 苏ICP备08004430号-2 )
版权所有:南京韵文教育信息咨询有限公司

GMT+8, 2024-12-4 16:07

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表