时间:2023-01-07 09:28:52 | 栏目:.NET代码 | 点击:次
通过后端程序将Excel表格转为PDF格式时,直接转换后的PDF效果可能出现表格页面过小或者过大,导致页面内容分布不均。要改善转换后的文档效果,只需在转换前自定义表格纸张大小,即可调整转换后的PDF页面表格布局效果。下面是具体方法和步骤。
在Visual Studio中,打开“解决方案资源管理器”,鼠标右键点击“引用”,
1.通过NuGet安装dll(2种方法)
1.1 可以在Visual Studio中打开“解决方案资源管理器”,鼠标右键点击“引用”,“管理NuGet包”,然后搜索Spire.XLS安装。
1.2 将以下内容复制到PM控制台安装。
Install-Package Spire.XLS -Version 11.11.2
2.手动添加dll引用
可通过手动下载包,然后解压,找到BIN文件夹下的Spire.Xls.dll。然后在Visual Studio中打开“解决方案资源管理器”,鼠标右键点击“引用”,“添加引用”将本地路径BIN文件夹下的dll文件添加引用至程序。
代码思路:
1.实例化Workbook类的对象,然后调用Workbook.LoadFromFile(string fileName)方法加载Excel文档。
2.通过 Workbook.Worksheets属性获取Worksheet类的的对象,即获取工作表
3.通过PageSetup.SetCustomPaperSize(float width, float height)方法自定义表格宽度及高度。
4.最后,调用Workbook.SaveToFile(string fileName, FileFormat fileFormat)方法保存为PDF格式。
C#
using Spire.Xls; namespace ExcelToPDFwithCustomPageSize { class Program { static void Main(string[] args) { //实例化Workbook类的对象 Workbook workbook = new Workbook(); //加载Excel测试文档 workbook.LoadFromFile("test.xlsx"); //遍历工作表 for(int i=0; i<workbook.Worksheets.Count;i++) { Worksheet sheet = workbook.Worksheets[i]; //自定义纸张大小 sheet.PageSetup.SetCustomPaperSize(620,310); //保存为PDF格式 workbook.SaveToFile("ToPDF.pdf", FileFormat.PDF); } } } }
VB.NET
Imports Spire.Xls Namespace ExcelToPDFwithCustomPageSize Class Program Private Shared Sub Main(args As String()) '实例化Workbook类的对象 Dim workbook As New Workbook() '加载Excel测试文档 workbook.LoadFromFile("test.xlsx") '遍历工作表 For i As Integer = 0 To workbook.Worksheets.Count - 1 Dim sheet As Worksheet = workbook.Worksheets(i) '自定义纸张大小 sheet.PageSetup.SetCustomPaperSize(620, 310) '保存为PDF格式 workbook.SaveToFile("ToPDF.pdf", FileFormat.PDF) Next End Sub End Class End Namespace
通过设置不同的宽度和高度,在转换后可呈现不同效果,如图: