Экспорт данных листа 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, что делает его популярным выбором для таких задач.