博客 / 詳情

返回

C# 輕鬆實現 CSV 轉換為 PDF

在企業辦公或數據分析中,CSV 文件 是一種常見的數據存儲格式。然而,CSV 文件雖然輕量,但在排版和可視化方面存在不足,不便於直接用於打印和共享。相比之下,PDF 文件 更加美觀,且在存檔、分發和跨平台使用時具有優勢。

本文將介紹如何在 C# 程序中將 CSV 文件轉換為 PDF,並進一步演示一些常見的擴展操作,如表格樣式設置、頁面佈局調整和批量合併轉換。


環境準備

首先,需要在項目中引入 Free Spire.XLS for .NET,可下載導入使用 NuGet 包管理器安裝:

Install-Package FreeSpire.XLS

CSV 轉換為 PDF 的基本流程

Step 1: 加載 CSV 文件

通過 Workbook 類加載 CSV 文件:

using Spire.Xls;

Workbook workbook = new Workbook();
workbook.LoadFromFile("Sample.csv", ",", 1, 1);

Step 2: 設置基本轉換參數

設置自動對齊列寬以防止表格數據被隱藏,以及基本的頁面設置等:

for (int i = 1; i <= workbook.Worksheets[0].Columns.Count(); i++)
{
    workbook.Worksheets[0].AutoFitColumn(i);
}
workbook.ConverterSetting.SheetFitToPage = true;

Step 3: 轉換為 PDF 文件

讀取到的工作簿對象可以直接保存為 PDF:

Worksheet sheet = workbook.Worksheets[0];
workbook.SaveToFile("Output/CSVtoPDF.pdf", FileFormat.PDF);

執行後,CSV 將被成功轉換為 PDF 文件。


完整的 C# 示例代碼

using Spire.Xls;

class Program
{
    static void Main(string[] args)
    {
        // 加載 CSV 文件
        Workbook workbook = new Workbook();
        workbook.LoadFromFile("Sample.csv", ",", 1, 1);

        // 設置基本轉換參數
        // 列寬自動對齊(防止表格內容被隱藏)
        for (int i = 1; i <= workbook.Worksheets[0].Columns.Count(); i++)
        {
            workbook.Worksheets[0].AutoFitColumn(i);
        }
        workbook.ConverterSetting.SheetFitToPage = true;  // 表格適應頁面

        // 轉換為 PDF 文件
        workbook.SaveToFile("Output/CSVtoPDF.pdf", FileFormat.PDF);

        Console.WriteLine("CSV 已成功轉換為 PDF。");
    }
}

輸出示例:

C# 將 CSV 轉換為 PDF


擴展操作

1. 設置表格樣式和字體

為了讓 PDF 中的表格更美觀,可以在轉換前對錶格進行樣式調整:

Worksheet sheet = workbook.Worksheets[0];

// 設置表頭加粗並填充背景色
CellRange header = sheet.Range["A1:D1"];
header.Style.Font.IsBold = true;
header.Style.Color = System.Drawing.Color.LightGray;

// 為所有單元格添加邊框
sheet.AllocatedRange.Borders.LineStyle = LineStyleType.Thin;

// 自動調整列寬
sheet.AllocatedRange.AutoFitColumns();

// 重新導出 PDF
workbook.SaveToFile("Output/CSVtoPDF_Styled.pdf", FileFormat.PDF);

2. 調整頁面大小和頁邊距

適用於需要打印的 PDF 報表:

Worksheet sheet = workbook.Worksheets[0];

// 設置紙張為 A4 橫向
sheet.PageSetup.PaperSize = PaperSizeType.PaperA4;
sheet.PageSetup.Orientation = PageOrientationType.Landscape;

// 設置頁邊距(單位:英寸)
sheet.PageSetup.TopMargin = 0.5;
sheet.PageSetup.BottomMargin = 0.5;
sheet.PageSetup.LeftMargin = 0.5;
sheet.PageSetup.RightMargin = 0.5;

// 導出 PDF
workbook.SaveToFile("Output/CSVtoPDF_PageSetup.pdf", FileFormat.PDF);

3. 批量合併多個 CSV 到一個 PDF

如果需要將多個 CSV 文件合併為一個 PDF,可以如下操作:

Workbook mergedWorkbook = new Workbook();

// 加載第一個 CSV
mergedWorkbook.LoadFromFile("Data1.csv", ",", 1, 1);

// 加載並追加第二個 CSV
Workbook temp = new Workbook();
temp.LoadFromFile("Data2.csv", ",", 1, 1);
mergedWorkbook.Worksheets.AddCopy(temp.Worksheets[0]);

// 保存為一個 PDF 文件
mergedWorkbook.SaveToFile("Output/MergedCSVs.pdf", FileFormat.PDF);

總結

本文演示瞭如何在 C# 中使用 Free Spire.XLS for .NET 將 CSV 文件轉換為 PDF,主要流程包括:

  1. 加載 CSV 文件
  2. 轉換並導出為 PDF

此外,我們還介紹了幾種擴展操作:

  • 調整表格樣式
  • 設置頁面大小與邊距
  • 合併多個 CSV 文件

這種方法可以讓日常業務中的 CSV 數據更加直觀和美觀,便於共享與歸檔。

更多示例與功能可參考:Spire.XLS for .NET 教程中心

user avatar tofrankie 頭像
1 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.