Muunna Excel-tiedosto PDF-muotoon käyttämällä Exceliä .NET: stä

Sivu päivitetty :
Sivun luontipäivämäärä :

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.