日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

C#?將Excel轉為PDF時自定義表格紙張大小的代碼思路_C#教程

更新時間: 2021-10-09 編程語言

通過后端程序將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版本。轉換前的頁面大小設置為該版本中寫入的新功能,在舊版本和免費版本中暫不支持。

原文鏈接:https://www.cnblogs.com/Yesi/p/15620424.html

欄目分類
最近更新