فایلهای اکسل (XLS، XLSX) و PDF از جمله فرمتهای اسنادی هستند که تقریباً در هر کسبوکاری به طور گسترده استفاده میشوند. برای چنین فایل هایی که معمولا مورد استفاده قرار می گیرند، سناریوهای زیادی وجود دارد که در آنها باید یک فایل را به فرمت دیگری تبدیل کنیم. در این مقاله روش های مختلفی برای تبدیل صفحات گسترده اکسل به فرمت PDF با استفاده از C# با برنامه های NET را یاد می گیریم.
- NET API برای تبدیل فایل های اکسل به PDF
- تبدیل برگه های اکسل به PDF
- دنباله ای از تبدیل برگه های اکسل به PDF
- لیست ویژه تبدیل برگه های اکسل به PDF
- تبدیل محدوده سلولی انتخاب شده از صفحه اکسل به PDF
NET API برای تبدیل فایل های اکسل به PDF
GroupDocs.Conversion API هایی را ارائه می دهد که به فایل های Excel اجازه می دهد تا در برنامه های NET به فرمت PDF تبدیل شوند. در این مقاله، از GroupDocs.Conversion for .NET برای تبدیل دادههای فایلهای Excel XLS/XLSX به فرمت PDF استفاده میکنیم. علاوه بر این، API از تبدیل بسیاری از فرمتهای فایل دیگر مانند اسناد پردازش کلمه، صفحات گسترده، ارائهها، کتابهای الکترونیکی، تصاویر و غیره که در [اسناد] ذکر شدهاند، پشتیبانی میکند.
میتوانید نصبکننده DLL یا MSI را از بخش دانلودها دانلود کنید یا از طریق NuGet API را در برنامه داتنت خود نصب کنید.
PM> Install-Package GroupDocs.Conversion
تبدیل برگه های اکسل به PDF - C#
مراحل زیر کتاب کار کامل (همه شیت ها) را با استفاده از C# به فرمت PDF تبدیل می کند.
- گزینه های بارگیری را با استفاده از SpreadsheetLoadOptions آماده کنید.
- صفحه گسترده اکسل را با استفاده از Converter بارگیری کنید.
- روش Convert() را با استفاده از PdfConvertOptions فراخوانی کنید تا همه برگه ها را تبدیل کرده و در قالب PDF ذخیره کنید.
در زیر کد منبع C# برای نحوه تبدیل کتاب کار کامل اکسل به PDF در برنامه .NET آمده است.
/*
* تبدیل تمام برگه های اکسل به فرمت PDF با استفاده از سی شارپ
*/
// گزینه های Load و Range را برای فایل منبع XLSX آماده کنید
Func<LoadOptions> loadOptions =() => new SpreadsheetLoadOptions
{
OnePagePerSheet = true
};
using (var converter = new GroupDocs.Conversion.Converter(@"path/spreadsheet.xlsx", loadOptions))
{
// صفحه گسترده را در قالب PDF تبدیل و ذخیره کنید
converter.Convert(@"path/all-sheets-converted.pdf", new PdfConvertOptions());
}
دنباله ای از تبدیل برگه های اکسل به PDF - C#
همیشه برای تبدیل کتاب کار کامل لازم نیست. ما همچنین می توانیم هر تعداد برگه های متوالی را تبدیل کنیم. مراحل زیر برای تبدیل هر زیر دنباله ای از برگه(های) کتاب کار اکسل به فرمت PDF با استفاده از C# است.
- فایل اکسل را با استفاده از Converter بارگیری کنید.
- گزینه های تبدیل را با استفاده از PdfConvertOptions تعریف کنید.
- شماره صفحه شروع و تعداد برگه های بعدی را به ترتیب تنظیم کنید.
- روش Convert() را با گزینه های تبدیل فراخوانی کنید تا زیرمجموعه برگه ها به ترتیب در قالب PDF ذخیره شوند.
کد زیر کد منبع C# است که برگه ها را به ترتیب، یعنی برگه شماره های 2،3 و 4 به PDF در برنامه .NET تبدیل می کند.
/*
* تبدیل توالی برگه های اکسل به فرمت PDF با استفاده از سی شارپ
*/
using (var converter = new GroupDocs.Conversion.Converter(@"path/spreadsheet.xlsx"))
{
// شماره برگه شروع و تعداد برگه های متوالی را تنظیم کنید
var convertOptions = new PdfConvertOptions()
{
PageNumber = 2,
PagesCount = 3
};
// صفحه گسترده را در قالب PDF تبدیل و ذخیره کنید
converter.Convert(@"path/sequential-sheets-converted.pdf", convertOptions);
}
تبدیل برگه های اکسل خاص به PDF - C#
ما به سادگی میتوانیم فهرستی از شمارههای برگه را برای تبدیل برگههای خاص ارائه کنیم. در زیر مراحل نحوه تبدیل لیست خاصی از اعداد برگه به فرمت PDF با استفاده از C# آمده است.
- فایل صفحه گسترده را با استفاده از Converter بارگیری کنید.
- شماره برگه ها را انتخاب کنید و با استفاده از PdfConvertOptions به عنوان فهرست تنظیم کنید.
- روش Convert() را با گزینه های تبدیل فراخوانی کنید تا برگه های فهرست شده را به فرمت PDF تبدیل کنید.
قطعه کد C# زیر شماره های برگه 1، 3 و 5 را در برنامه .NET به PDF تبدیل می کند.
/*
* تبدیل لیست مشخص شده از برگه های اکسل به فرمت PDF با استفاده از سی شارپ
*/
using (var converter = new GroupDocs.Conversion.Converter(@"path/spreadsheet.xlsx"))
{
// لیست را روی اعداد صفحه در هنگام تبدیل تنظیم کنید
var convertOptions = new PdfConvertOptions()
{
Pages = new System.Collections.Generic.List<int> { 1,3,5}
};
// صفحه گسترده را به فرمت PDF تبدیل و ذخیره کنید
converter.Convert(@"path/selected-sheets-conversion.pdf", convertOptions);
}
تبدیل محدوده سلولی انتخابی برگه اکسل به PDF - C#
آخرین اما نه کماهمیت، در واقع، پیچیدهترین، ما همچنین میتوانیم هر محدوده سلولی برگه(های) اکسل را تقریباً به روشی مشابه سایر روشها تبدیل کنیم. مراحل زیر برای تبدیل هر محدوده سلولی از برگه(های) کتاب کار به فرمت PDF با استفاده از C# است.
- ابتدا، محدوده سلولی را برای تبدیل با استفاده از SpreadsheetLoadOptions تعریف کنید.
- فایل صفحه گسترده را با استفاده از Converter بارگیری کنید.
- برگه ها را با استفاده از PdfConvertOptions یا بر اساس اعداد دقیق برگه یا دنباله فرعی انتخاب کنید.
- روش Convert() را با گزینه های تبدیل فراخوانی کنید تا محدوده سلولی انتخاب شده از برگه های انتخاب شده را به فرمت PDF تبدیل کنید.
کد زیر محدوده سلولی (A1:C20) برگه شماره 2، 3 و 4 را با استفاده از C# به فرمت PDF تبدیل می کند.
/*
* با استفاده از C# محدوده سلولی مشخص شده برگه های اکسل را به فرمت PDF تبدیل کنید.
*/
// گزینه های Load و Range را برای فایل منبع XLSX آماده کنید
Func<LoadOptions> loadOptions =() => new SpreadsheetLoadOptions
{
ConvertRange = "A1:C20"
};
using (var converter = new Converter(@"path/spreadsheet.xlsx", loadOptions))
{
var convertOptions = new PdfConvertOptions()
{
PageNumber = 2,
PagesCount = 3
// Pages = System.Collections.Generic.List جدید<int> {2،3،4}
};
// پس از تبدیل به صورت PDF ذخیره کنید
converter.Convert(@"path/cell-range-converted.pdf", convertOptions);
}
نتیجه
برای نتیجه گیری، روش های مختلفی برای تبدیل صفحات گسترده اکسل به فرمت PDF با استفاده از C# را یاد گرفتیم. ابتدا به دنبال تبدیل کتاب کار کامل به فرمت PDF بودیم، سپس دنباله فرعی شیت ها را تبدیل کردیم. بعداً، نحوه تبدیل هر برگه (های) را با ارائه لیستی از اعداد دقیق برگه ها یاد گرفتیم و در آخر، فایل PDF را از محدوده سلولی انتخاب شده برگه(های) انتخاب شده به دست آوردیم.
درباره APIهای GroupDocs.Conversion از مستندات بیشتر بیاموزید. برای سؤالات، از طریق [فروم 29 با ما تماس بگیرید.