Muunna Excel-tiedosto PDF-muotoon käyttämällä Exceliä .NET: stä
Toimintaympäristö
- Visuaalinen studio
-
- Visuaalinen studio 2022
- .VERKKO
-
- .NET 6.0
- Windows
-
- Windows 11
- Erottua
-
- Microsoft 365
Edellytykset
- Windows
-
- Yksi versioista
- Erottua
-
- Yksi versioista
Excel-tiedostosta PDF-tiedostoksi muuntamisen vaiheet
Tämä ohjelma käyttää Excelin manipulointiin .NET-ohjelmasta Microsoft.Office.Interop.Excel
COM: n kautta ja avaa Excel-tiedoston tulostamisen PDF-tiedostona.
Siksi Excel on asennettava Windowsiin, jotta se voidaan suorittaa. COM on Windows-mekanismi, joten se ei toimi Mac-tietokoneissa.
Kun luot projektin Visual Studiossa, se voi olla mikä tahansa, joka suoritetaan Windowsin työpöydällä. Tässä tapauksessa luomme sen konsolisovelluksena.
Kun olet luonut projektin, selaa kirjastoa Excelin käyttöä varten. Tässä esitetty menetelmä on rakennettu tavalla, joka riippuu asennetusta Excel-versiosta ohjelman katselun helpottamiseksi. Jos haluat suorittaa sen Excel-versiosta riippumatta, muokkaa sitä alla linkitetyn menetelmän mukaisesti. Näin rakennamme jakamamme ohjelmat.
Napsauta hiiren kakkospainikkeella Riippuvuudet ja valitse Lisää COM-viite.
Jos Excel on asennettu kehitysympäristöön, kirjoita "" oikeassa yläkulmassa olevaan hakukenttään Excel
, joten tarkista Microsoft Excel XX.0 Object Library
se ja napsauta "OK" -painiketta.
Näytettävä versio riippuu asennetusta Excel-versiosta.
Sinulla on Excel-tiedosto valmiina tuontia varten. Tapa, jolla se tulostetaan PDF-muotoon, on sama kuin silloin, kun tulostat manuaalisesti PDF-muotoon Excelissä, joten tarkista se ennen kuin sisällytät sen sovellukseksi.
Kirjoita seuraava koodi kohtaan, jossa haluat sen käsiteltävän.
// 実行プログラムの場所にある 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);
}
Asia on, että menetelmällä on jo vientitoiminto, Workbook.ExportAsFixedFormat
joten sinun tarvitsee vain kutsua sitä.
Suorita se nähdäksesi, tulostetaanko PDF-tiedosto.