C# 将Excel转为PDF时自定义表格纸张大小的代码思路

 更新时间:2021年11月30日 08:41:54   作者:E-iceblue  
这篇文章主要介绍了C# 将Excel转为PDF时自定义表格纸张大小的代码思路,转换前的页面大小设置为该版本中写入的新功能,在旧版本和免费版本中暂不支持,感兴趣的朋友跟随小编一起看看实例代码

通过后端程序将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版本。转换前的页面大小设置为该版本中写入的新功能,在旧版本和免费版本中暂不支持。

到此这篇关于C# 将Excel转为PDF时自定义表格纸张大小的文章就介绍到这了,更多相关C#自定义表格纸张大小内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • C#制作鹰眼的详细全过程(带注释)实例代码

    C#制作鹰眼的详细全过程(带注释)实例代码

    C#制作鹰眼的详细全过程(带注释)实例代码,需要的朋友可以参考一下
    2013-03-03
  • C#中登录窗体和欢迎窗体关闭方法分析

    C#中登录窗体和欢迎窗体关闭方法分析

    这篇文章主要介绍了C#中登录窗体和欢迎窗体关闭方法,实例分析了C#中登录窗体和欢迎窗体关闭时出现错误的原因与解决方法,是C#项目开发中非常实用的技巧,需要的朋友可以参考下
    2014-12-12
  • c#调用c++的DLL的实现方法

    c#调用c++的DLL的实现方法

    本文主要介绍了c#调用c++的DLL的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-05-05
  • Unity虚拟摇杆的实现方法

    Unity虚拟摇杆的实现方法

    这篇文章主要为大家详细介绍了Unity虚拟摇杆的实现方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-04-04
  • 浅析.NET中AsyncLocal的实现原理

    浅析.NET中AsyncLocal的实现原理

    这篇文章主要为大家详细介绍了.NET中AsyncLocal的具体实现原理,文中的示例代码讲解详细,具有一定的借鉴价值,如果有讲得不清晰或不准确的地方,还望指出
    2023-08-08
  • C# DataTable中Compute方法用法集锦(数值/字符串/运算符/表等操作)

    C# DataTable中Compute方法用法集锦(数值/字符串/运算符/表等操作)

    这篇文章主要介绍了C# DataTable中Compute方法用法,总结分析了DataTable中Compute方法常见的数值运算操作、字符串操作、运算符操作、表运算等相关技巧,需要的朋友可以参考下
    2016-06-06
  • c#中LINQ的基本用法(一)

    c#中LINQ的基本用法(一)

    这篇文章介绍了c#中LINQ的基本用法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-04-04
  • 利用C#如何给PDF文档添加文本与图片页眉

    利用C#如何给PDF文档添加文本与图片页眉

    页眉常用于显示文档的附加信息,我们可以在页眉中插入文本或者图形,例如,页码、日期、公司徽标、文档标题、文件名或作者名等等。那么我们如何以编程的方式添加页眉呢?这篇文章主要介绍了利用C#如何给PDF文档添加文本与图片页眉的相关资料,需要的朋友可以参考下
    2017-01-01
  • C#如何给PDF文件添加水印

    C#如何给PDF文件添加水印

    这篇文章主要为大家详细介绍了C#如何给PDF文件添加水印的相关资料,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-09-09
  • C# Winfom 中ListBox的简单用法详解

    C# Winfom 中ListBox的简单用法详解

    这篇文章主要介绍了C# Winfom 中ListBox的简单用法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12

最新评论