Excel单元格默认缩进量及Syncfusion 16转PDF单元格边距问题咨询
Excel默认单元格内边距及Syncfusion转PDF适配方案
一、Excel单元格默认内边距数值
- Excel单元格默认水平内边距左右各为0.75字符,垂直内边距上下各为0.5字符。这里的内边距是单元格边框与内容之间的空白区域,和文本缩进是两个不同概念。
二、查看Excel单元格内边距的方式
- 图形界面操作:选中目标单元格,右键选择「设置单元格格式」→切换到「对齐」选项卡,点击选项卡右下角的扩展按钮调出完整面板,即可查看或修改「内边距」参数。
- Open XML结构查看:解压xlsx文件后,在
xl/worksheets/[对应工作表].xml的<x:cellXfs>节点下,查找对应单元格样式的<x:xf>节点。若该节点包含<x:alignment>子节点且带有left/right/top/bottom属性,则为自定义内边距;无这些属性时,使用Excel默认值。
三、Syncfusion 16版本Excel转PDF内边距丢失的解决代码
Syncfusion v16在Excel转PDF时可能未自动继承Excel默认内边距,可通过代码手动指定:
ExcelEngine excelEngine = new ExcelEngine(); IApplication excelApp = excelEngine.Excel; IWorkbook workbook = excelApp.Workbooks.Open("你的输入文件路径.xlsx"); IWorksheet worksheet = workbook.Worksheets[0]; // 遍历已使用区域的单元格,设置对应内边距 foreach (IRange cell in worksheet.UsedRange.Cells) { cell.CellStyle.Paddings.Left = 0.75; cell.CellStyle.Paddings.Right = 0.75; cell.CellStyle.Paddings.Top = 0.5; cell.CellStyle.Paddings.Bottom = 0.5; } // 导出PDF IPdfConverter pdfConverter = workbook.ConvertToPDF(); pdfConverter.SaveAs("你的输出文件路径.pdf"); // 释放资源 workbook.Close(); excelEngine.Dispose();
内容的提问来源于stack exchange,提问作者Rafael Khasanov
相关产品推荐
相关产品推荐

