电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

Excel打印.二开案例.表单插件调用excel导出

来源:金蝶云社区作者:金蝶2024-09-236

Excel打印.二开案例.表单插件调用excel导出

【场景】插件调用excel打印 【案例】调用采购订单的excel打印,指定模板的预览 <1>数据库获取excel模板的内码 ```sql select * from t_bos_excelprint --fbillformid,业务对象标识 ``` <2>表单插件,在服务端导出文件以及在客户端导出文件 ```csharp using Kingdee.BOS.Core; using Kingdee.BOS.Core.Bill.PlugIn; using Kingdee.BOS.Core.DynamicForm.PlugIn; using Kingdee.BOS.Core.DynamicForm.PlugIn.Args; using Kingdee.BOS.Core.Metadata.ElementMetadata; using Kingdee.BOS.Core.NotePrint; using Kingdee.BOS.ExcelPrint.Actions; using Kingdee.BOS.ExcelPrint.Core; using Kingdee.BOS.JSON; using Kingdee.BOS.ServiceHelper.ExcelPrint; using Kingdee.BOS.Util; using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; namespace DynamicFormPlugIn.NotePrint { [Kingdee.BOS.Util.HotUpdate] [System.ComponentModel.Description("excel打印 导出excel文件")] public class ExcelSample_Export : AbstractBillPlugIn { public override void BarItemClick(BarItemClickEventArgs e) { base.BarItemClick(e); object pkVal = this.View.Model.GetPKValue(); if (pkVal == null) return; List<string> billIds = new List<string>() { pkVal.ToString() }; if (e.BarItemKey.EqualsIgnoreCase("tb_ExportServer")) { ExportXlsOnServer(billIds); return; } if (e.BarItemKey.EqualsIgnoreCase("tb_ExportClient")) { ExportXlsOnClient(billIds); return; } } private string ExcelPrint_TemplateId = "aea2be9f-f9ac-451a-81bf-968912a3d886"; /// <summary> /// 在服务端导出excel文件 /// </summary> private void ExportXlsOnServer(List<string> billIds) { //引用 Kingdee.BOS.ExcelPrint.Core bool isMergePrint = false; string strFilePath = PathUtils.GetPhysicalPath("TempFilePath", string.Format("{0}.xls", DateTime.Now.ToString("yyyyMMdd HHmmss"))); //获取模板数据 var excelTemp = ExcelPrintServiceHelper.GetExcelTemplate(this.Context, new List<string>() { ExcelPrint_TemplateId }); Dictionary<string, string> tempBillDict = new Dictionary<string, string>(); tempBillDict[ExcelPrint_TemplateId] = string.Join(",", billIds); //将单据数据填充到模板上 var excelBuffer = ExcelPrintUtils.FillBillDataToTemplateForExportAction(this.Context, this.View.BillBusinessInfo.GetForm().Id, excelTemp, null, tempBillDict, isMergePrint, InvokeType.Server); //保存文件 using (FileStream fs = new FileStream(strFilePath, FileMode.Create)) { fs.Write(excelBuffer, 0, excelBuffer.Length); } } /// <summary> /// 在客户端导出excel文件 /// </summary> private void ExportXlsOnClient(List<string> billIds) { JSONObject jo = new JSONObject(); jo.Add("exportType", (int)Kingdee.BOS.Core.NotePrint.ExportType.ByPage); //Excel打印模板,单据内码集合映射 Dictionary<string, List<string>> tempBillDict = new Dictionary<string, List<string>>(); tempBillDict[ExcelPrint_TemplateId] = billIds; DoBaseExcelPrintAction(ExcelPrintAction.Export, tempBillDict, jo); } /// <summary> /// </summary> /// <param name="action"></param> /// <param name="dictPrint"></param> /// <param name="objData"></param> private void DoBaseExcelPrintAction(ExcelPrintAction action, Dictionary<string, List<string>> dictPrint, JSONObject objData = null) { JSONObject jsonBillID = new JSONObject(); jsonBillID.Add("Data", dictPrint); if (action == ExcelPrintAction.Export || action == ExcelPrintAction.E

Excel打印.二开案例.表单插件调用excel导出

【场景】插件调用excel打印【案例】调用采购订单的excel打印,指定模板的预览<1>数据库获取excel模板的内码```sqlselect * from t_bos_e...
点击下载文档文档为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

已经是第一篇
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信