Konversi File Excel ke PDF Menggunakan Excel dari .NET
Lingkungan operasi
- Visual Studio
-
- Visual Studio 2022
- .JARING
-
- .NET 6.0
- Windows
-
- jendela 11
- Melampaui
-
- Microsoft 365
Prasyarat
- Windows
-
- Salah satu versi
- Melampaui
-
- Salah satu versi
Langkah-langkah untuk mengonversi dari file Excel ke file PDF
Program ini digunakan untuk memanipulasi Excel dari program Microsoft.Office.Interop.Excel
.NET melalui COM dan menampilkan file Excel yang dibuka sebagai PDF.
Oleh karena itu, Excel harus diinstal pada Windows untuk menjalankan. COM adalah mekanisme Windows, jadi tidak berfungsi di Mac.
Saat Anda membuat proyek di Visual Studio, itu bisa berupa apa saja yang berjalan di desktop Windows. Dalam hal ini, kami membuatnya sebagai aplikasi konsol.
Setelah Anda membuat proyek, telusuri pustaka untuk menggunakan Excel. Metode yang disajikan di sini dibangun dengan cara yang tergantung pada versi Excel yang diinstal untuk kemudahan melihat program. Jika Anda ingin menjalankannya secara independen dari versi Excel, ubah sesuai dengan metode yang ditautkan di bawah ini. Begitulah cara kami membangun program yang kami distribusikan.
Klik kanan Dependensi dan pilih Tambahkan Referensi COM.
Jika Excel diinstal di lingkungan pengembangan, ketik "" di bidang pencarian di Excel
sudut kanan atas, jadi periksa Microsoft Excel XX.0 Object Library
dan klik tombol "OK".
Versi yang ditampilkan tergantung pada versi Excel yang diinstal.
Anda memiliki file Excel yang siap diimpor. Cara outputnya ke PDF sama seperti ketika Anda secara manual output ke PDF di Excel, jadi harap periksa sebelum Anda memasukkannya sebagai aplikasi.
Masukkan kode berikut di mana Anda ingin diproses.
// 実行プログラムの場所にある Excel ファイル
var folderPath = Path.GetDirectoryName(System.Diagnostics.Process.GetCurrentProcess().MainModule?.FileName) ?? "";
var excelFilePath = Path.Combine(folderPath, "Sample.xlsx");
Microsoft.Office.Interop.Excel.Application? excel = null;
Microsoft.Office.Interop.Excel.Workbooks? books = null;
Microsoft.Office.Interop.Excel.Workbook? book = null;
Microsoft.Office.Interop.Excel.Sheets? sheets = null;
try
{
// Excel アプリケーション生成
excel = new Microsoft.Office.Interop.Excel.Application()
{
DisplayAlerts = false, // アラート非表示
Visible = false, // Excel 非表示
};
// ワークブック一覧を参照
books = excel.Workbooks;
// Excel ファイルを開く
book = books.Open(excelFilePath);
// シート一覧参照
sheets = book.Worksheets;
// 全シートを選択
sheets.Select();
// Excel のデータを PDF ファイルとして保存
// Type : xlTypePDF=PDF, xlTypeXPS=XPS
// Filename : 出力ファイル名
// Quality : xlQualityStandard=標準品質, xlqualityminimum=最小限の品質
book.ExportAsFixedFormat(
Type: Microsoft.Office.Interop.Excel.XlFixedFormatType.xlTypePDF,
Filename: Path.Combine(folderPath, "Sample.pdf"),
Quality: Microsoft.Office.Interop.Excel.XlFixedFormatQuality.xlQualityStandard);
Console.WriteLine("PDF 出力に成功しました。");
}
catch (Exception ex)
{
Console.WriteLine("PDF 出力に失敗しました。");
Console.WriteLine(ex.ToString());
}
finally
{
// Excel を終了させる
if (book != null) book.Close(SaveChanges: false);
if (excel != null) excel.Quit();
// 使用した Excel リソースは全て開放する
if (sheets != null) System.Runtime.InteropServices.Marshal.ReleaseComObject(sheets);
if (book != null) System.Runtime.InteropServices.Marshal.ReleaseComObject(book);
if (books != null) System.Runtime.InteropServices.Marshal.ReleaseComObject(books);
if (excel != null) System.Runtime.InteropServices.Marshal.ReleaseComObject(excel);
}
Intinya adalah Workbook.ExportAsFixedFormat
metode tersebut sudah memiliki fungsi ekspor, jadi Anda hanya perlu menyebutnya.
Jalankan untuk melihat apakah file PDF adalah output.