using IRaCIS.Core.Application.Helper; using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Mvc; using MiniExcelLibs; namespace IRaCIS.Core.Application.Service; public static class ExcelExportHelper { //MiniExcel_Export public static async Task DataExportAsync(string code, object data, string exportFileNamePrefix, IRepository _commonDocumentRepository, IWebHostEnvironment _hostEnvironment) { var (physicalPath, fileNmae) = await FileStoreHelper.GetCommonDocPhysicalFilePathAsync(_hostEnvironment, _commonDocumentRepository, code); //模板路径 var tplPath = physicalPath; #region MiniExcel var memoryStream = new MemoryStream(); await MiniExcel.SaveAsByTemplateAsync(memoryStream, tplPath, data); memoryStream.Seek(0, SeekOrigin.Begin); return new FileStreamResult(memoryStream, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet") { FileDownloadName = $"{exportFileNamePrefix}_{fileNmae.Substring(0, fileNmae.LastIndexOf('.'))}_{DateTime.Now.ToString("yyyyMMddHHmmss")}.xlsx" }; #endregion #region Magicodes 模板规则不一样 ////创建Excel导出对象 //IExportFileByTemplate exporter = new ExcelExporter(); ////根据模板导出 //var result = await exporter.ExportBytesByTemplate(exportInfo, tplPath); //return new XlsxFileResult(bytes: result, fileDownloadName: $"{doc.Name}_{DateTime.Now.ToString("yyyy-MM-dd:hh:mm:ss")}.xlsx"); #endregion } }