使用FreeSpire.XLS
注意:
在Linux服务器需加一个引用包SkiaSharp.NativeAssets.Linux
字体问题在Dockerfile中配置可用字体
using var msExcel = new MemoryStream(package.GetAsByteArray());
using Workbook workbook = new Workbook();
workbook.LoadFromStream(msExcel);
//在一页显示
//workbook.ConverterSetting.SheetFitToPage = true;
using Worksheet wsheet = workbook.Worksheets[0];
//纸张设置
PageSetup pageSetup = wsheet.PageSetup;
//横向纵向
pageSetup.Orientation = PageOrientationType.Landscape;
//纸张格式
pageSetup.PaperSize = PaperSizeType.PaperA4;
using MemoryStream stream = new MemoryStream();
wsheet.SaveToPdfStream(stream);
byte[] buffer = stream.ToArray();
FileContentResult result = new FileContentResult(buffer, "application/pdf");
result.FileDownloadName = $@"{filename}.pdf";
Response.Headers.Append("Access-Control-Expose-Headers", HeaderNames.ContentDisposition);
return result;
#endregion