这篇文章主要介绍了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# 将Excel转为PDF时自定义表格纸张大小的代码思路
- c# 模拟线性回归的示例 2023-03-14
- C# 使用Aspose.Cells 导出Excel的步骤及问题记录 2023-05-16
- Unity Shader实现模糊效果 2023-04-27
- user32.dll 函数说明小结 2022-12-26
- 在C# 8中如何使用默认接口方法详解 2023-03-29
- Unity3D实现渐变颜色效果 2023-01-16
- 如何使用C# 捕获进程输出 2023-03-10
- .NET CORE DI 依赖注入 2023-09-27
- Oracle中for循环的使用方法 2023-07-04
- WPF使用DrawingContext实现绘制刻度条 2023-07-04