使用DataPresenterExcelExporter导出时防范Excel公式注入咨询
针对Infragistics DataPresenterExcelExporter防公式注入的配置方案
核心配置实现
Infragistics 原生提供了对应配置项,无需额外处理导出后的Excel文件,即可实现清除所有公式、防范注入的需求:
- 将
DataPresenterExcelExporter的ExportOptions.ExportFormulas属性设置为false即可。
该配置生效后,导出器会禁用所有公式识别逻辑,所有单元格内容都会被当做普通文本写入,包括原本以=、+、-、@等公式触发前缀开头的内容,不会被Excel识别为可执行公式。
基础用法示例
// 初始化导出组件 var excelExporter = new Infragistics.Windows.DataPresenter.ExcelExporter.DataPresenterExcelExporter(); // 配置禁用公式导出 excelExporter.ExportOptions.ExportFormulas = false; // 执行导出,参数分别为绑定的DataPresenter实例、导出文件路径 excelExporter.Export(yourDataPresenterInstance, @"C:\导出文件.xlsx");
更严格的自定义过滤方案
如果需要额外对单元格内容做二次校验清理,可以订阅CellExporting事件,在内容写入前主动强制标记为纯文本:
excelExporter.CellExporting += (sender, args) => { if (args.CellValue is string content && !string.IsNullOrEmpty(content)) { // 内容前加Excel原生文本标识单引号,单引号不会在单元格展示时出现 args.CellValue = $"'{content}"; } };
内容的提问来源于stack exchange,提问作者Dev
相关产品推荐
相关产品推荐

