Экспорт данных листа Excel в таблицу

Введение

Вам когда-нибудь нужно было экспортировать данные из листа Excel в файл PDF, аккуратно организованный в табличный формат? Представьте, что у вас есть куча данных в Excel, но вам нужно поделиться ими в виде профессионально выглядящего PDF. Это может показаться сложным, не так ли? Но с Aspose.PDF для .NET вы можете превратить эту задачу в легкую задачу. В этом руководстве мы проведем вас через процесс экспорта данных листа Excel в таблицу внутри документа PDF с помощью Aspose.PDF для .NET. Мы проведем вас шаг за шагом, разбирая все, так что даже если вы новичок, к концу вы почувствуете себя профессионалом.

Предпосылки

Прежде чем погрузиться в кодирование, давайте настроим несколько вещей:

  1. Aspose.PDF для .NET Library – Убедитесь, что у вас установлена последняя версия. Вы можетескачать здесь.
  2. Библиотека Aspose.Cells for .NET – Вам понадобится для обработки операций Excel. Загрузите ее сздесь.
  3. Среда разработки .NET – для написания кода отлично подойдет такой инструмент, как Visual Studio.
  4. Файл Excel — подготовьте файл Excel с данными, которые вы хотите экспортировать.

Если у вас нет библиотек Aspose.PDF и Aspose.Cells, вы можете начать сбесплатная пробная версия.

Импортные пакеты

Для начала убедитесь, что вы установили библиотеки Aspose.PDF и Aspose.Cells в своем проекте. Вы можете установить их с помощью NuGet Package Manager в Visual Studio.

Вот как импортировать необходимые пакеты в ваш код C#:

using System.Data;
using System.IO;
using System.Linq;

Теперь, когда все необходимые условия выполнены, давайте рассмотрим процесс экспорта данных из листа Excel в таблицу PDF-документа.

Шаг 1: Загрузите книгу Excel

Для начала вам нужно загрузить вашу книгу Excel в программу. На этом этапе мы воспользуемся Aspose.Cells, чтобы открыть файл Excel.

// Путь к каталогу документов.
string dataDir = "YOUR DOCUMENT DIRECTORY";

// Загрузите книгу Excel
Aspose.Cells.Workbook workbook = new Aspose.Cells.Workbook(new FileStream(dataDir + "newBook1.xlsx", FileMode.Open));

Пояснение: Здесь мы указываем путь к каталогу, где находится наш файл Excel, и загружаем книгу с помощьюAspose.Cells.Workbook . Обязательно отрегулируйте"YOUR DOCUMENT DIRECTORY" чтобы указать местоположение вашего файла.

Шаг 2: Получите доступ к первому рабочему листу

После загрузки рабочей книги нам необходимо получить доступ к первому рабочему листу, где хранятся наши данные.

// Доступ к первому листу в файле Excel
Aspose.Cells.Worksheet worksheet = workbook.Worksheets[0];

Пояснение: Этот шаг прост — мы берем первый лист из рабочей книги, содержащий данные для экспорта.

Шаг 3: Экспорт данных в DataTable

Теперь экспортируем данные из таблицы Excel в объект DataTable, который будет выступать посредником для передачи данных в PDF.

// Экспорт содержимого 7 строк и 2 столбцов, начиная с 1-й ячейки, в DataTable
DataTable dataTable = worksheet.Cells.ExportDataTable(0, 0, worksheet.Cells.MaxRow + 1, worksheet.Cells.MaxColumn + 1, true);

Объяснение:ExportDataTable Метод извлекает данные, начиная с первой ячейки листа и охватывая все строки и столбцы. Затем эти данные сохраняются вDataTable для дальнейшего использования.

Шаг 4: Создайте новый PDF-документ

Далее нам необходимо создать новый PDF-документ с помощью Aspose.PDF.

// Создать экземпляр документа
Aspose.Pdf.Document pdfDocument = new Aspose.Pdf.Document();

// Создать страницу в экземпляре документа
Aspose.Pdf.Page page = pdfDocument.Pages.Add();

Пояснение: Здесь мы инициализируем новыйAspose.Pdf.Documentи добавить к нему страницу. Эта страница позже будет содержать таблицу, которую мы создаем из данных Excel.

Шаг 5: Создание объекта «Таблица» в PDF-файле

Перейдем к созданию таблицы внутри PDF-документа.

// Создать объект «Таблица»
Aspose.Pdf.Table table = new Aspose.Pdf.Table();

// Добавьте объект «Таблица» в коллекцию абзацев страницы.
page.Paragraphs.Add(table);

Объяснение: Мы создаемAspose.Pdf.Table объект и добавьте его в коллекцию абзацев страницы, что гарантирует отображение таблицы на странице.

Шаг 6: Установите ширину и границы столбцов

Таблицы в PDF должны иметь определенную ширину столбцов. Мы также добавим границы, чтобы сделать таблицу более читабельной.

// Установить ширину столбцов таблицы
table.ColumnWidths = "40 100 100";

// Установить границу ячейки по умолчанию
table.DefaultCellBorder = new Aspose.Pdf.BorderInfo(Aspose.Pdf.BorderSide.All, 0.1F);

Пояснение: Мы задаем ширину трех столбцов и задаем всем ячейкам границу по умолчанию толщиной0.1F.

Шаг 7: Импорт данных из DataTable в таблицу PDF

Теперь пришло время импортировать данные из DataTable в нашу таблицу PDF.

// Импорт данных в объект Table из DataTable
table.ImportDataTable(dataTable, true, 0, 0, dataTable.Rows.Count + 1, dataTable.Columns.Count);

Объяснение:ImportDataTableметод переносит все данные изDataTable в таблицу PDF. Это заполнит таблицу данными из вашего листа Excel.

Шаг 8: Оформите строку заголовка

Давайте оформим строку заголовка таблицы, изменив цвет фона, шрифт и выравнивание.

// Получить первую строку из таблицы
Aspose.Pdf.Row headerRow = table.Rows[0];

// Установить стиль для строки заголовка
foreach (Aspose.Pdf.Cell cell in headerRow.Cells)
{
    cell.BackgroundColor = Color.Blue;
    cell.DefaultCellTextState.Font = Aspose.Pdf.Text.FontRepository.FindFont("Helvetica-Oblique");
    cell.DefaultCellTextState.ForegroundColor = Color.Yellow;
    cell.DefaultCellTextState.HorizontalAlignment = Aspose.Pdf.HorizontalAlignment.Center;
}

Пояснение: Мы проходим по всем ячейкам в первой строке (заголовок) и устанавливаем для них синий цвет фона, желтый цвет текста и выравниваем текст по центру.

Шаг 9: Оформите оставшиеся ряды

Чтобы различать заголовок и остальные строки, давайте добавим другой стиль для оставшихся строк.

for (int i = 1; i <= dataTable.Rows.Count; i++)
{
    foreach (Aspose.Pdf.Cell cell in table.Rows[i].Cells)
    {
        cell.BackgroundColor = Color.Gray;
        cell.DefaultCellTextState.ForegroundColor = Color.White;
    }
}

Пояснение: Для всех строк, кроме заголовка, мы устанавливаем серый фон и белый цвет текста.

Шаг 10: Сохраните PDF-документ.

Наконец, сохраните PDF-документ с таблицей.

// Сохранить PDF-файл
pdfDocument.Save(dataDir + "Exceldata_toPdf_table.pdf");

Объяснение: Мы сохраняем PDF в указанном каталоге. Вуаля! Ваши данные Excel теперь находятся внутри прекрасно отформатированной таблицы PDF.

Заключение

И вот оно! Всего за несколько шагов вы экспортировали данные из листа Excel в таблицу внутри PDF с помощью Aspose.PDF для .NET. Разбивая процесс и стилизуя его по ходу дела, вы можете настроить вывод и гарантировать, что ваши данные будут выглядеть чисто и профессионально. Так что в следующий раз, когда кто-то вручит вам файл Excel и попросит отчет в формате PDF, вы точно будете знать, что делать.

Часто задаваемые вопросы

Могу ли я настроить таблицу под себя?

Конечно! Вы можете изменять цвета, шрифты, выравнивание и даже добавлять границы к определенным ячейкам.

Является ли Aspose.PDF для .NET бесплатным?

Он предлагает бесплатную пробную версию, но для длительного использования вам понадобится лицензия. Вы можетекупить здесь.

Могу ли я экспортировать только определенные строки и столбцы?

Да, вы можете изменить параметры вExportDataTable метод экспорта определенных диапазонов.

Работает ли это с большими файлами Excel?

Да, Aspose.Cells разработан для эффективной обработки больших файлов Excel.

Как добавить больше страниц в PDF-файл?

Вы можете использоватьpdfDocument.Pages.Add() чтобы добавить столько страниц, сколько вам нужно.