Экспорт данных листа Excel в таблицу
В этом уроке мы научимся экспортировать данные из листа Excel и создавать таблицу в документе PDF с помощью библиотеки Aspose.PDF для .NET. Мы шаг за шагом разберем исходный код и подробно объясним каждый раздел. К концу этого урока вы сможете создавать файлы PDF с таблицами, содержащими данные из листов Excel. Давайте начнем!
Требования
Прежде чем начать, убедитесь, что у вас есть следующее:
- Базовые знания языка программирования C#
- Visual Studio установлена на вашем компьютере
- Библиотека Aspose.PDF для .NET добавлена в ваш проект
Шаг 1: Настройка среды
Для начала создайте новый проект C# в Visual Studio. Добавьте ссылку на библиотеку Aspose.PDF для .NET, щелкнув правой кнопкой мыши по проекту в обозревателе решений, выбрав «Управление пакетами NuGet» и выполнив поиск по запросу «Aspose.PDF». Установите пакет, и все готово.
Шаг 2: Загрузка рабочего листа Excel
На первом шаге нашего кода мы определяем путь к каталогу, содержащему документ Excel. Замените “ВАШ КАТАЛОГ ДОКУМЕНТОВ” на фактический путь к каталогу, где находится ваш файл Excel.
// Путь к каталогу документов.
string dataDir = "YOUR DOCUMENT DIRECTORY";
Aspose.Cells.Workbook workbook = new Aspose.Cells.Workbook(new FileStream(dataDir + "newBook1.xlsx", FileMode.Open));
Здесь мы используем библиотеку Aspose.Cells для загрузки книги Excel. Обязательно замените “newBook1.xlsx” на имя вашего файла Excel.
Шаг 3: Доступ к рабочему листу
Далее нам нужно получить доступ к первому листу в файле Excel. Мы делаем это с помощьюWorksheets
коллекцияWorkbook
объект.
// Доступ к первому листу в файле Excel
Aspose.Cells.Worksheet worksheet = workbook.Worksheets[0];
Если ваш файл Excel содержит несколько листов, вы можете изменить значение индекса.[0]
для доступа к другому рабочему листу.
Шаг 4: Экспорт данных в DataTable
Теперь мы экспортируем содержимое листа Excel вDataTable
Объект. Мы указываем диапазон ячеек для экспорта с помощьюExportDataTable
метод.
// Экспорт содержимого 7 строк и 2 столбцов, начиная с 1-й ячейки, в DataTable
DataTable dataTable = worksheet.Cells.ExportDataTable(0, 0, worksheet.Cells.MaxRow + 1, worksheet.Cells.MaxColumn + 1, true);
В этом примере мы экспортируем все строки и столбцы, начиная с первой ячейки (0, 0) до последней ячейки на листе. Установите соответствующий диапазон в соответствии с вашими требованиями.
Шаг 5: Создание PDF-документа
Теперь мы создадим новый PDF-документ с помощью библиотеки Aspose.PDF.
// Создать экземпляр документа
Aspose.Pdf.Document pdf1 = new Aspose.Pdf.Document();
Это создаст пустой PDF-документ, в который мы сможем добавить контент.
Шаг 6: Добавление страницы и таблицы
Чтобы отобразить данные в табличном формате, нам необходимо добавить страницу и таблицу в PDF-документ.
// Создать страницу в экземпляре документа
Aspose.Pdf.Page sec1 = pdf1.Pages.Add();
// Создать объект «Таблица»
Aspose.Pdf.Table tab1 = new Aspose.Pdf.Table();
// Добавьте объект «Таблица» в коллекцию абзацев раздела.
sec1.Paragraphs.Add(tab1);
Здесь мы создаем новую страницу и объект таблицы. Затем мы добавляем таблицу в коллекцию абзацев страницы.
Шаг 7: Настройка свойств таблицы
Перед импортом данных нам необходимо задать некоторые свойства таблицы, такие как ширина столбцов и границы ячеек по умолчанию.
// Установить ширину столбцов таблицы
tab1.ColumnWidths = "40 100 100";
// Установить границу ячейки таблицы по умолчанию с помощью объекта BorderInfo
tab1.DefaultCellBorder = new Aspose.Pdf.BorderInfo(Aspose.Pdf.BorderSide.All, 0.1F);
В этом примере мы устанавливаем ширину столбцов на 40, 100 и 100 единиц. Отрегулируйте значения на основе ваших данных. Мы также устанавливаем границу ячейки по умолчанию для отображения границ со всех сторон каждой ячейки.
Шаг 8: Импорт данных в таблицу
Теперь мы импортируем данные изDataTable
объект в таблицу с помощьюImportDataTable
метод.
// Импортируйте данные в объект Table из DataTable, созданного выше.
tab1.ImportDataTable(dataTable, true, 0, 0, dataTable.Rows.Count + 1, dataTable.Columns.Count);
Здесь мы указываем диапазон строк и столбцов для импорта. В этом примере мы импортируем все строки и столбцы изdataTable
объект.
Шаг 9: Форматирование таблицы
Чтобы улучшить внешний вид таблицы, мы можем применить форматирование к определенным ячейкам или строкам. На этом этапе мы отформатируем первую строку и альтернативные строки таблицы.
// Взять 1-ю строку из таблицы
Aspose.Pdf.Row row1 = tab1.Rows[0];
// Форматировать первую строку
foreach(Aspose.Pdf.Cell curCell in row1.Cells)
{
// Установить цвет фона ячеек в первой строке
curCell.BackgroundColor = Color.Blue;// Установить грань для ячеек в первой строке
curCell.DefaultCellTextState.Font = Aspose.Pdf.Text.FontRepository.FindFont("Helvetica-Oblique");
// Установить цвет шрифта ячеек в первой строке
curCell.DefaultCellTextState.ForegroundColor = Color.Yellow;
// Установите выравнивание текста для ячеек в первой строке
curCell.DefaultCellTextState.HorizontalAlignment = Aspose.Pdf.HorizontalAlignment.Center;
}
// Альтернативный формат строки
for (int All_Rows = 1; All_Rows <= dataTable.Rows.Count; All_Rows++)
{
foreach(Aspose.Pdf.Cell curCell in tab1.Rows[All_Rows].Cells)
{
// Установить цвет фона ячеек в чередующихся строках
curCell.BackgroundColor = Color.Gray;
// Установить цвет текста ячеек в чередующихся строках
curCell.DefaultCellTextState.ForegroundColor = Color.White;
}
}
Здесь мы перебираем ячейки в первой строке и устанавливаем их цвет фона, шрифт, цвет шрифта и выравнивание текста. Затем мы перебираем все ячейки в альтернативных строках и устанавливаем их цвет фона и текста.
Шаг 10: Сохранение PDF-документа
Наконец, мы сохраняем PDF-документ в указанном месте.
// Сохранить PDF-файл
pdf1.Save(dataDir + @"Exceldata_toPdf_table.pdf");
Обязательно замените «КАТАЛОГ ВАШИХ ДОКУМЕНТОВ» на желаемый путь к каталогу и имя файла для выходного PDF-файла.
Пример исходного кода для экспорта данных листа Excel в таблицу с помощью Aspose.PDF для .NET
// Путь к каталогу документов.
string dataDir = "YOUR DOCUMENT DIRECTORY";
Aspose.Cells.Workbook workbook = new Aspose.Cells.Workbook(new FileStream(dataDir + "newBook1.xlsx", FileMode.Open));
// Доступ к первому листу в файле Excel
Aspose.Cells.Worksheet worksheet = workbook.Worksheets[0];
// Экспорт содержимого 7 строк и 2 столбцов, начиная с 1-й ячейки, в DataTable
DataTable dataTable = worksheet.Cells.ExportDataTable(0, 0, worksheet.Cells.MaxRow + 1, worksheet.Cells.MaxColumn + 1, true);
// Создать экземпляр документа
Aspose.Pdf.Document pdf1 = new Aspose.Pdf.Document();
// Создать страницу в экземпляре документа
Aspose.Pdf.Page sec1 = pdf1.Pages.Add();
// Создать объект «Таблица»
Aspose.Pdf.Table tab1 = new Aspose.Pdf.Table();
// Добавьте объект «Таблица» в коллекцию абзацев раздела.
sec1.Paragraphs.Add(tab1);
// Установите ширину столбцов таблицы. Нам нужно указать ColumnCount вручную.
// Поскольку текущий рабочий лист Excel имеет три столбца, мы указываем то же количество.
tab1.ColumnWidths = "40 100 100";
// Установить границу ячейки таблицы по умолчанию с помощью объекта BorderInfo
tab1.DefaultCellBorder = new Aspose.Pdf.BorderInfo(Aspose.Pdf.BorderSide.All, 0.1F);
// Импортируйте данные в объект Table из DataTable, созданного выше.
tab1.ImportDataTable(dataTable, true, 0, 0, dataTable.Rows.Count + 1, dataTable.Columns.Count);
// Взять 1-ю строку из таблицы
Aspose.Pdf.Row row1 = tab1.Rows[0];
// Пройдитесь по всем ячейкам в 1-й строке и установите для них синий цвет фона.
foreach (Aspose.Pdf.Cell curCell in row1.Cells)
{
// Установить фон всех ячеек в 1-й строке таблицы.
curCell.BackgroundColor = Color.Blue;
// Установите шрифт для ячеек 1-й строки таблицы.
curCell.DefaultCellTextState.Font = Aspose.Pdf.Text.FontRepository.FindFont("Helvetica-Oblique");
// Установите цвет шрифта всех ячеек в 1-й строке таблицы.
curCell.DefaultCellTextState.ForegroundColor = Color.Yellow;
// Установите выравнивание текста для ячеек 1-й строки по центру.
curCell.DefaultCellTextState.HorizontalAlignment = Aspose.Pdf.HorizontalAlignment.Center;
}
for (int All_Rows = 1; All_Rows <= dataTable.Rows.Count; All_Rows++)
{
// Пройдитесь по всем ячейкам в 1-й строке и установите для них синий цвет фона.
foreach (Aspose.Pdf.Cell curCell in tab1.Rows[All_Rows].Cells)
{
// Установите цвет фона всех ячеек, кроме 1-й строки.
curCell.BackgroundColor = Color.Gray;
// Установите цвет текста для всех ячеек, кроме 1-й строки.
curCell.DefaultCellTextState.ForegroundColor = Color.White;
}
}
// Сохранить PDF-файл
pdf1.Save(dataDir + @"Exceldata_toPdf_table.pdf");
Заключение
В этом уроке мы узнали, как экспортировать данные из листа Excel в таблицу PDF с помощью библиотеки Aspose.PDF для .NET. Мы рассмотрели пошаговый процесс загрузки листа Excel, создания документа PDF, добавления таблицы, импорта данных и форматирования таблицы. Теперь вы можете программно генерировать файлы PDF с таблицами, содержащими данные Excel.
Часто задаваемые вопросы
В: Какова цель экспорта данных из таблицы Excel в таблицу PDF?
A: Экспорт данных из листа Excel в таблицу PDF позволяет вам представить данные в структурированном и организованном формате. Это позволяет вам создавать файлы PDF с таблицами, которые содержат данные из листов Excel, что упрощает обмен и сохранение информации в формате переносимого документа.
В: Могу ли я настроить внешний вид таблицы PDF?
A: Да, вы можете настроить внешний вид таблицы PDF, используя различные свойства, предоставляемые Aspose.PDF для .NET. В предоставленном исходном коде C# вы можете изменить ширину столбцов, границы ячеек, выравнивание текста, стиль шрифта и многое другое в соответствии с вашими конкретными требованиями.
В: Как работать с файлами Excel с несколькими листами?
A: В предоставленном коде C# мы получили доступ к первому листу в файле Excel, используя индекс[0]
. Если ваш файл Excel содержит несколько рабочих листов, вы можете получить к ним доступ, изменив значение индекса соответствующим образом, например[1]
для второго рабочего листа или[2]
для третьего рабочего листа.
В: Могу ли я применить различное форматирование к определенным строкам или ячейкам в таблице PDF?
A: Да, вы можете применить различное форматирование к определенным строкам или ячейкам в таблице PDF. В предоставленном исходном коде C# мы продемонстрировали, как форматировать первую строку и чередующиеся строки по-разному, изменяя их цвет фона, стиль шрифта и цвет шрифта. Вы можете применить аналогичные методы форматирования к любым определенным строкам или ячейкам по мере необходимости.
В: Является ли Aspose.PDF для .NET единственной библиотекой, которая позволяет экспортировать данные Excel в таблицу PDF?
A: Aspose.PDF для .NET — это мощная библиотека для работы с PDF-документами в приложениях .NET. Хотя могут быть доступны и другие библиотеки, Aspose.PDF для .NET предлагает широкий спектр функций и возможностей для создания, обработки и экспорта PDF-файлов с таблицами из данных Excel, что делает его популярным выбором для таких задач.