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<Dt_ProcessInfo, IRepository<Dt_ProcessInfo>>, IProcessInfoService
|
{
|
public ProcessInfoService(IRepository<Dt_ProcessInfo> BaseDal) : base(BaseDal)
|
{
|
}
|
|
public IRepository<Dt_ProcessInfo> Repository => BaseDal;
|
|
/// <summary>
|
/// 下载流程卡
|
/// </summary>
|
/// <param name="dt_ProcessInfo"></param>
|
/// <returns></returns>
|
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 });
|
|
}
|
|
|
|
|
}
|
}
|