Экспорт данных листа Excel в таблицу
Введение
Вам когда-нибудь нужно было экспортировать данные из листа Excel в файл PDF, аккуратно организованный в табличный формат? Представьте, что у вас есть куча данных в Excel, но вам нужно поделиться ими в виде профессионально выглядящего PDF. Это может показаться сложным, не так ли? Но с Aspose.PDF для .NET вы можете превратить эту задачу в легкую задачу. В этом руководстве мы проведем вас через процесс экспорта данных листа Excel в таблицу внутри документа PDF с помощью Aspose.PDF для .NET. Мы проведем вас шаг за шагом, разбирая все, так что даже если вы новичок, к концу вы почувствуете себя профессионалом.
Предпосылки
Прежде чем погрузиться в кодирование, давайте настроим несколько вещей:
- Aspose.PDF для .NET Library – Убедитесь, что у вас установлена последняя версия. Вы можетескачать здесь.
- Библиотека Aspose.Cells for .NET – Вам понадобится для обработки операций Excel. Загрузите ее сздесь.
- Среда разработки .NET – для написания кода отлично подойдет такой инструмент, как Visual Studio.
- Файл 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()
чтобы добавить столько страниц, сколько вам нужно.