C# 将Excel转为PDF时自定义表格纸张大小

目录

引入dll

1. 通过NuGet安装dll(2种方法)

2. 手动添加dll引用

代码及转换设置

注意事项


通过后端程序将Excel表格转为PDF格式时,直接转换后的PDF效果可能出现表格页面过小或者过大,导致页面内容分布不均。要改善转换后的文档效果,只需在转换前自定义表格纸张大小,即可调整转换后的PDF页面表格布局效果。下面是具体方法和步骤。

引入dll

在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

注意事项

  • 代码中的Excel和PDF路径为的VS程序的Debug路径,如本次路径为:F:\VS2017Project\ExceltoPDF\ExcelToPDFwithCustomPageSize\bin\Debug\test.xlsx ,文件路径自定义为其他路径。
  • 注意这里引入的是spire.xls.dll v11.11.2版本。转换前的页面大小设置为该版本中写入的新功能,在旧版本和免费版本中暂不支持。

—End—

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值