.NET سے ایکسل کا استعمال کرتے ہوئے ایکسل فائل کو پی ڈی ایف میں تبدیل کریں

جب صفحے کی تازہ کاری :
صفحہ تخلیق تاریخ :

آپریٹنگ ماحول

Visual Studio
  • Visual Studio 2022
.جال
  • .NET 6.0
Windows
  • ونڈوز 11
Excel
  • Microsoft 365

ضروری شرائط

Windows
  • ورژن میں سے ایک
Excel
  • ورژن میں سے ایک

ایکسل فائل سے پی ڈی ایف فائل میں تبدیل کرنے کے اقدامات

یہ پروگرام کام کے ذریعے .NET پروگرام Microsoft.Office.Interop.Excel سے ایکسل میں ہیرا پھیری کرنے اور کھلی ہوئی ایکسل فائل کو پی ڈی ایف کے طور پر آؤٹ پٹ کرنے کے لئے استعمال کرتا ہے۔ لہذا ، چلانے کے لئے ایکسل کو ونڈوز پر انسٹال ہونا ضروری ہے۔ سی او ایم ایک ونڈوز میکانزم ہے ، لہذا یہ میک پر کام نہیں کرتا ہے۔

جب آپ بصری اسٹوڈیو میں کوئی پروجیکٹ بناتے ہیں تو ، یہ ونڈوز ڈیسک ٹاپ پر چلنے والا کچھ بھی ہوسکتا ہے۔ اس صورت میں ، ہم اسے کنسول ایپ کے طور پر بنا رہے ہیں۔

پروجیکٹ بنانے کے بعد ، ایکسل استعمال کرنے کے لئے لائبریری براؤز کریں۔ یہاں پیش کیا گیا طریقہ اس طرح سے بنایا گیا ہے جو ایکسل کے ورژن پر منحصر ہے جو پروگرام کو دیکھنے میں آسانی کے لئے انسٹال ہے۔ اگر آپ اسے ایکسل کے ورژن سے آزادانہ طور پر چلانا چاہتے ہیں تو ، ذیل میں منسلک طریقہ کار کے مطابق اس میں ترمیم کریں۔ اس طرح ہم تقسیم کردہ پروگراموں کی تعمیر کرتے ہیں۔

انحصار پر دائیں کلک کریں اور COM حوالہ شامل کریں کو منتخب کریں۔

اگر ایکسل ترقیاتی ماحول میں انسٹال ہے تو ، اوپری دائیں کونے میں سرچ فیلڈ میں Excel "" ٹائپ کریں ، لہذا اسے چیک کریں Microsoft Excel XX.0 Object Library اور "ٹھیک ہے" بٹن پر کلک کریں۔ دکھایا جانے والا ورژن ایکسل کے اس ورژن پر منحصر ہے جو انسٹال ہے۔

آپ کے پاس ایکسل فائل درآمد کرنے کے لئے تیار ہے۔ جس طرح اسے پی ڈی ایف میں آؤٹ پٹ کیا جاتا ہے وہ ویسا ہی ہے جیسے آپ ایکسل میں دستی طور پر پی ڈی ایف میں آؤٹ پٹ کرتے ہیں ، لہذا براہ کرم اسے ایپلی کیشن کے طور پر شامل کرنے سے پہلے اسے چیک کریں۔

درج ذیل کوڈ درج کریں جہاں آپ اسے پراسیس کرنا چاہتے ہیں۔

// 実行プログラムの場所にある 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);
}

نکتہ یہ ہے کہ Workbook.ExportAsFixedFormat اس طریقہ کار میں پہلے سے ہی ایک برآمدی فنکشن ہے ، لہذا آپ کو صرف اسے کال کرنے کی ضرورت ہے۔

پی ڈی ایف فائل آؤٹ پٹ ہے یا نہیں یہ دیکھنے کے لئے اسے چلائیں۔