Файлы Excel (XLS, [XLSX][2] и [PDF][3] относятся к тем форматам документов, которые широко используются практически в каждом бизнесе. Для таких часто используемых файлов существует множество сценариев, в которых мы необходимо преобразовать один файл в другой формат.В этой статье мы узнаем различные способы преобразования электронных таблиц Excel в формат PDF с помощью C# с приложениями .NET.

Преобразование электронной таблицы Excel в PDF с помощью С#
  • [.NET API для преобразования файлов Excel в PDF][4]
  • [Преобразование листов Excel в PDF][5]
  • [Последовательность преобразования листов Excel в PDF][6]
  • [Конкретный список листов Excel для преобразования в PDF][7]
  • [Преобразовать выбранный диапазон ячеек из листа Excel в PDF][8]

.NET API для преобразования файлов Excel в PDF

[GroupDocs.Conversion][9] предоставляет API, которые позволяют преобразовывать файлы Excel в формат PDF в приложениях .NET. В этой статье мы будем использовать [GroupDocs.Conversion for .NET][10] для преобразования данных файлов Excel XLS/XLSX в формат PDF. Кроме того, API поддерживает преобразование многих других форматов файлов, таких как текстовые документы, электронные таблицы, презентации, электронные книги, изображения и т. д., которые упоминаются в [документации][11].

Вы можете загрузить DLL или MSI установщик из [раздела загрузок][12] или установить API в своем приложении .NET через [NuGet][13].

PM> Install-Package GroupDocs.Conversion

Преобразование листов Excel в PDF — C#

Следующие шаги преобразуют всю книгу (все листы) в формат PDF с помощью C#.

  • Подготовьте параметры загрузки, используя [SpreadsheetLoadOptions][14].
  • Загрузите электронную таблицу Excel с помощью [Конвертера][15].
  • Вызовите метод [Convert()][16], используя [PdfConvertOptions][17], чтобы конвертировать все листы и сохранить их в формате PDF.

Ниже приведен исходный код C# для преобразования полной книги Excel в PDF в приложении .NET.

/*
 * Преобразование всех листов Excel в формат PDF с помощью С#
 */
// Подготовьте параметры загрузки и диапазон для исходного файла 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 из данных Excel

Последовательность преобразования листов Excel в PDF — C#

Не всегда требуется преобразование всей рабочей книги. Мы также можем преобразовать любое последовательное количество листов. Ниже приведены шаги для преобразования любой подпоследовательности листов книги Excel в формат PDF с помощью C#.

  • Загрузите файл Excel с помощью [Конвертера][18].
  • Определите параметры преобразования с помощью [PdfConvertOptions][19].
  • Установите начальный номер листа и количество последующих листов в последовательности.
  • Вызовите метод [Convert()][20] с параметрами преобразования, чтобы получить подмножество листов, последовательно сохраненных в формате PDF.

Ниже приведен исходный код C#, который последовательно преобразует листы, т. е. листы с номерами 2, 3 и 4, в PDF в приложении .NET.

/*
 * Преобразование последовательности листов Excel в формат 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);
}

Преобразование определенных листов Excel в PDF — C#

Мы можем просто предоставить список номеров листов для преобразования конкретных листов. Ниже приведены шаги по преобразованию любого определенного списка номеров листов в формат PDF с помощью C#.

  • Загрузите файл электронной таблицы с помощью [Конвертера][21].
  • Выберите номера листов и установите их в виде списка с помощью [PdfConvertOptions][22].
  • Вызовите метод [Convert()][23] с параметрами преобразования, чтобы конвертировать перечисленные листы в формат PDF.

Следующий фрагмент кода C# преобразует номера листов 1, 3 и 5 в PDF в приложении .NET.

/*
 * Преобразование указанного списка листов Excel в формат PDF с помощью C#
 */
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);
}

Преобразование выбранного диапазона ячеек листа Excel в PDF — C#

И последнее, но не менее важное, на самом деле, самое сложное, мы также можем преобразовать любой диапазон ячеек листа(ов) Excel почти так же, как и другие подходы. Ниже приведены шаги для преобразования любого диапазона ячеек листов рабочей книги в формат PDF с помощью C#.

  • Во-первых, определите диапазон ячеек для преобразования, используя [SpreadsheetLoadOptions][24].
  • Загрузите файл электронной таблицы с помощью [Конвертера][25].
  • Выберите листы либо по точным номерам листов, либо по последовательности, используя [PdfConvertOptions][26].
  • Вызовите метод [Convert()][27] с параметрами преобразования, чтобы конвертировать выбранный диапазон ячеек выбранных листов в формат PDF.

Следующий код преобразует диапазон ячеек (A1:C20) номеров листов 2, 3 и 4 в формат PDF с помощью C#.

/*
 * Преобразование указанного диапазона ячеек указанных листов Excel в формат PDF с помощью С#
 */
// Подготовьте параметры загрузки и диапазон для исходного файла 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
        // Страницы = новый System.Collections.Generic.List<int> { 2,3,4}
    };
    // Сохранить как PDF после преобразования
    converter.Convert(@"path/cell-range-converted.pdf", convertOptions);
}

Вывод

В заключение мы узнали о различных способах преобразования электронных таблиц Excel в формат PDF с помощью C#. Сначала мы попытались преобразовать всю книгу в формат PDF, а затем преобразовали подпоследовательность листов. Позже мы узнали, как преобразовать любой лист (листы), предоставив список точных номеров листов, и, наконец, мы получили файл PDF из выбранного диапазона ячеек выбранного листа (листов).

Узнайте больше об GroupDocs.Conversion API из [документации][28]. По вопросам обращайтесь к нам через [форум][29].

Смотрите также

  • [Преобразование листа Excel в CSV и наоборот в C#][30]
  • [Листы Excel с водяными знаками с использованием C#][31]
  • [Файлы PDF с водяными знаками с использованием C#][32]
  • [Преобразование документов в Excel (XLS, XLSX) в C#][33]

[2]: https://docs.fileformat.com/spreadsheet/xlsx/) [3]: https://docs.fileformat.com/pdf/ [4]: #excel-conversion-dotnet-api [5]: #excel-to-pdf [6]: #sheets-sequence-to-pdf [7]: #list-of-sheets-to-pdf [8]: #cell-ranges-to-pdf [9]: https://products.groupdocs.com/conversion/ [10]: https://products.groupdocs.com/conversion/net/ [11]: https://docs.groupdocs.com/conversion/net/supported-document-formats/ [12]: https://downloads.groupdocs.com/conversion [13]: https://www.nuget.org/packages/groupdocs.conversion [14]: https://apireference.groupdocs.com/conversion/net/groupdocs.conversion.options.load/spreadsheetloadoptions [15]: https://apireference.groupdocs.com/conversion/net/groupdocs.conversion/converter [16]: https://apireference.groupdocs.com/conversion/net/groupdocs.conversion/converter/methods/convert/index [17]: https://apireference.groupdocs.com/conversion/net/groupdocs.conversion.options.convert/pdfconvertoptions [18]: https://apireference.groupdocs.com/conversion/net/groupdocs.conversion/converter [19]: https://apireference.groupdocs.com/conversion/net/groupdocs.conversion.options.convert/pdfconvertoptions [20]: https://apireference.groupdocs.com/conversion/net/groupdocs.conversion/converter/methods/convert/index [21]: https://apireference.groupdocs.com/conversion/net/groupdocs.conversion/converter [22]: https://apireference.groupdocs.com/conversion/net/groupdocs.conversion.options.convert/pdfconvertoptions [23]: https://apireference.groupdocs.com/conversion/net/groupdocs.conversion/converter/methods/convert/index [24]: https://apireference.groupdocs.com/conversion/net/groupdocs.conversion.options.load/spreadsheetloadoptions [25]: https://apireference.groupdocs.com/conversion/net/groupdocs.conversion/converter [26]: https://apireference.groupdocs.com/conversion/net/groupdocs.conversion.options.convert/pdfconvertoptions [27]: https://apireference.groupdocs.com/conversion/net/groupdocs.conversion/converter/methods/convert/index [28]: https://docs.groupdocs.com/conversion [29]: https://forum.groupdocs.com/ [30]: https://blog.groupdocs.com/ru/2021/08/18/convert-excel-xls-xlsx-and-csv-in-csharp/ [31]: https://blog.groupdocs.com/ru/2021/11/04/watermark-excel-sheets-using-csharp/ [32]: https://blog.groupdocs.com/ru/2021/07/27/watermark-pdf-files-using-csharp/ [33]: https://blog.groupdocs.com/ru/2021/04/13/convert-document-to-excel-xls-xlsx-in-csharp/