“`html
目錄
Toggle介紹
在這篇教學中,我們將學習如何使用C#程式碼將Excel文件轉換為PDF格式。這在生成報表或分享資料時非常有用。我們將使用一個名叫EPPlus的第三方庫來處理Excel文件,並使用另一个名叫PdfSharp的第三方庫來生成PDF文件。
準備工作
在開始之前,我們需要安裝一些第三方庫。可以使用NuGet包管理器來安裝這些庫。
安裝EPPlus
在Visual Studio中打開Package Manager Console,然後執行以下指令來安裝EPPlus:
Install-Package EPPlus
安裝PdfSharp
在同一個Package Manager Console中,執行以下指令來安裝PdfSharp:
Install-Package PdfSharp
讀取Excel文件
首先,我們將使用EPPlus來讀取Excel文件。以下是如何用C#來實現這一點的範例程式碼:
using OfficeOpenXml;
using System.IO;
string excelFilePath = "path_to_your_excel_file.xlsx";
FileInfo excelFile = new FileInfo(excelFilePath);
using (ExcelPackage package = new ExcelPackage(excelFile))
{
ExcelWorksheet worksheet = package.Workbook.Worksheets[0];
// 在這裡可以操作worksheet,例如讀取數據
}
生成PDF文件
接下來,我們將使用PdfSharp來生成PDF文件,並將從Excel文件中讀取的數據寫入PDF中。以下是如何用C#來實現這一點的範例程式碼:
using PdfSharp.Pdf;
using PdfSharp.Drawing;
using System;
string pdfFilePath = "path_to_your_output_pdf.pdf";
PdfDocument document = new PdfDocument();
document.Info.Title = "Converted Excel to PDF";
PdfPage page = document.AddPage();
XGraphics gfx = XGraphics.FromPdfPage(page);
XFont font = new XFont("Verdana", 20, XFontStyle.Bold);
gfx.DrawString("This is a test", font, XBrushes.Black,
new XRect(0, 0, page.Width, page.Height),
XStringFormats.TopLeft);
document.Save(pdfFilePath);
document.Close();
整合Excel和PDF操作
最後,我們將兩個部分的程式碼結合起來,從Excel文件中讀取數據,並將這些數據寫入PDF文件中。以下是完整的C#範例程式碼:
using OfficeOpenXml;
using PdfSharp.Pdf;
using PdfSharp.Drawing;
using System.IO;
string excelFilePath = "path_to_your_excel_file.xlsx";
string pdfFilePath = "path_to_your_output_pdf.pdf";
FileInfo excelFile = new FileInfo(excelFilePath);
using (ExcelPackage package = new ExcelPackage(excelFile))
{
ExcelWorksheet worksheet = package.Workbook.Worksheets[0];
int rowCount = worksheet.Dimension.Rows;
int colCount = worksheet.Dimension.Columns;
PdfDocument document = new PdfDocument();
document.Info.Title = "Converted Excel to PDF";
PdfPage page = document.AddPage();
XGraphics gfx = XGraphics.FromPdfPage(page);
XFont font = new XFont("Verdana", 12, XFontStyle.Regular);
double yPoint = 0;
for (int row = 1; row <= rowCount; row++)
{
for (int col = 1; col <= colCount; col++)
{
yPoint = row * 20;
string text = worksheet.Cells[row, col].Text;
gfx.DrawString(text, font, XBrushes.Black,
new XRect(col * 100 - 100, yPoint, page.Width, page.Height),
XStringFormats.TopLeft);
}
}
document.Save(pdfFilePath);
document.Close();
}
結論
在這篇教學中,我們學習了如何使用C#將Excel文件轉換為PDF格式。通過這個過程,我們使用了EPPlus來讀取Excel文件,並使用PdfSharp來生成和寫入PDF文件。希望通過這個教學,你可以更輕鬆地處理Excel到PDF的轉換需求。
```