Экспорт данных листа 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();
// Добавьте объект 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();
// Добавьте объект 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];
// Перебрать все ячейки в первой строке и установить для них синий цвет фона.
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++)
{
// Перебрать все ячейки в первой строке и установить для них синий цвет фона.
foreach (Aspose.Pdf.Cell curCell in tab1.Rows[All_Rows].Cells)
{
// Установите цвет фона для всех ячеек, кроме первой строки.
curCell.BackgroundColor = Color.Gray;
// Установите цвет текста для всех ячеек, кроме первой строки.
curCell.DefaultCellTextState.ForegroundColor = Color.White;
}
}
// Сохраните PDF-файл
pdf1.Save(dataDir + @"Exceldata_toPdf_table.pdf");
Заключение
В этом уроке мы узнали, как экспортировать данные из листа Excel в таблицу PDF с помощью библиотеки Aspose.PDF для .NET. Мы рассмотрели пошаговый процесс загрузки листа Excel, создания PDF-документа, добавления таблицы, импорта данных и форматирования таблицы. Теперь вы можете программно создавать PDF-файлы с таблицами, содержащими данные Excel.
Часто задаваемые вопросы
Вопрос: Какова цель экспорта данных листа Excel в таблицу PDF?
Ответ: Экспорт данных листа Excel в таблицу PDF позволяет представить данные в структурированном и организованном формате. Он позволяет создавать PDF-файлы с таблицами, содержащими данные из листов Excel, что упрощает обмен и сохранение информации в портативном формате документа.
Вопрос: Могу ли я настроить внешний вид таблицы PDF?
О: Да, вы можете настроить внешний вид таблицы PDF, используя различные свойства, предоставляемые Aspose.PDF для .NET. В предоставленном исходном коде C# вы можете изменить ширину столбцов, границы ячеек, выравнивание текста, стиль шрифта и многое другое в соответствии с вашими конкретными требованиями.
Вопрос: Как обрабатывать файлы Excel с несколькими листами?
Ответ: В предоставленном коде C# мы получили доступ к первому листу в файле Excel, используя индекс[0]
. Если ваш файл Excel содержит несколько листов, вы можете получить к ним доступ, соответствующим образом изменив значение индекса, например:[1]
для второго рабочего листа или[2]
для третьего рабочего листа.
Вопрос: Могу ли я применить другое форматирование к определенным строкам или ячейкам в таблице PDF?
О: Да, вы можете применить различное форматирование к определенным строкам или ячейкам в таблице PDF. В предоставленном исходном коде C# мы продемонстрировали, как по-разному форматировать первую и альтернативные строки, изменяя цвет их фона, стиль и цвет шрифта. При необходимости вы можете применять аналогичные методы форматирования к любым конкретным строкам или ячейкам.
Вопрос: Является ли Aspose.PDF для .NET единственной библиотекой, которая позволяет экспортировать данные Excel в таблицу PDF?
О: Aspose.PDF for .NET — это мощная библиотека для работы с PDF-документами в .NET-приложениях. Хотя могут быть доступны и другие библиотеки, Aspose.PDF для .NET предлагает широкий спектр функций и возможностей для создания, управления и экспорта файлов PDF с таблицами из данных Excel, что делает его популярным выбором для таких задач.