using OfficeOpenXml; using Spire.Xls; using WIDESEAWCS_Core; using WIDESEAWCS_Core.BaseRepository; using WIDESEAWCS_Core.BaseServices; using WIDESEAWCS_DTO.BasicInfo; using WIDESEAWCS_Model.Models; namespace WIDESEAWCS_BasicInfoService { public class ProcessInfoService : ServiceBase>, IProcessInfoService { public ProcessInfoService(IRepository BaseDal) : base(BaseDal) { } public IRepository Repository => BaseDal; /// /// 下载流程卡 /// /// /// public WebResponseContent ExportData(Dt_ProcessInfo dt_ProcessInfo) { string fileName = $"{DateTime.Now.ToString("yyyyMMddHHssmm")}.xlsx"; string templatePath = $"{AppDomain.CurrentDomain.BaseDirectory}ExprotTemplate\\发电机弹性支撑信息化流程卡.xlsx";//模板路径 string savePath = $"{AppDomain.CurrentDomain.BaseDirectory}Download\\{fileName}";//保存文件路径 using Stream templateStream = new FileStream(templatePath, FileMode.Open); using Stream saveStream = new FileStream(savePath, FileMode.Create); using ExcelPackage package = new ExcelPackage(saveStream, templateStream); ExcelWorksheet worksheet = package.Workbook.Worksheets["流程卡"]; worksheet.Cells[3, 5].Value = dt_ProcessInfo.ProductCode;//成品编号 package.Save(); string pdfFileName = $"{DateTime.Now.ToString("yyyyMMddHHssmm")}.pdf"; string pdfPath = $"{AppDomain.CurrentDomain.BaseDirectory}Download\\{pdfFileName}"; Workbook workbook = new Workbook(); workbook.LoadFromFile(savePath); // 转换第一个工作表到PDF workbook.SaveToFile(pdfPath, FileFormat.PDF); return WebResponseContent.Instance.OK(data: new { path = pdfPath, fileName = pdfFileName }); } } }