Пользовательская сортировка сводной таблицы программным способом в .NET
Введение
Когда дело доходит до работы с Excel в среде .NET, одна библиотека выделяется среди остальных: Aspose.Cells. Разве вам не нравится, когда инструмент позволяет вам программно манипулировать электронными таблицами? Именно это и делает Aspose.Cells! В сегодняшнем уроке мы глубоко погружаемся в мир сводных таблиц и показываем, как реализовать пользовательскую сортировку программным способом с помощью этой универсальной библиотеки.
Предпосылки
Прежде чем мы засучим рукава и начнем писать код, убедитесь, что у вас есть несколько вещей:
- Visual Studio: Вам понадобится рабочая версия Visual Studio. Это игровая площадка, где происходит вся магия.
- .NET Framework: Знакомство с программированием .NET является обязательным. Независимо от того, являетесь ли вы энтузиастом .NET Core или .NET Framework, вы готовы к работе.
- Библиотека Aspose.Cells: Вам необходимо установить библиотеку Aspose.Cells. Вы можете получить ее изСсылка для скачивания и добавьте его в свой проект.
- Базовые знания о сводных таблицах: вам не обязательно быть экспертом, но небольшие знания о том, как работают сводные таблицы, будут полезны при изучении этого руководства.
- Образец файла Excel: Создайте образец файла Excel с именем
SamplePivotSort.xlsx
готово к тестированию в вашем рабочем каталоге.
Импортные пакеты
После того, как вы отсортировали все ваши предварительные условия, первым шагом будет импорт необходимых пакетов. Для этого включите следующие строки в верхней части вашего кода:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Aspose.Cells;
using Aspose.Cells.Pivot;
Этот пакет предоставляет все необходимые функции для работы с файлами Excel с помощью Aspose.Cells.
Хорошо, давайте перейдем к самой интересной части! Мы разобьем процесс создания сводной таблицы и применения пользовательской сортировки на управляемые шаги.
Шаг 1: Настройте рабочую тетрадь
Для начала нам нужно настроить нашу рабочую тетрадь. Вот как это сделать:
string sourceDir = "Your Document Directory";
string outputDir = "Your Document Directory";
Workbook wb = new Workbook(sourceDir + "SamplePivotSort.xlsx");
На этом этапе мы инициализируем новыйWorkbook
экземпляр с путем к нашему файлу Excel. Это будет холстом, на котором оживет наша сводная таблица.
Шаг 2: Доступ к рабочему листу
Далее нам нужно получить доступ к рабочему листу, куда мы добавим нашу сводную таблицу.
Worksheet sheet = wb.Worksheets[0];
PivotTableCollection pivotTables = sheet.PivotTables;
Здесь мы берем первый рабочий лист в нашей рабочей тетради и вызываемPivotTableCollection
. Эта коллекция позволяет нам управлять всеми сводными таблицами на этом рабочем листе.
Шаг 3: Создайте свою первую сводную таблицу
Теперь пришло время создать нашу сводную таблицу.
int index = pivotTables.Add("=Sheet1!A1:C10", "E3", "PivotTable1");
PivotTable pivotTable = pivotTables[index];
Мы добавляем новую сводную таблицу на наш рабочий лист, указывая диапазон данных и его местоположение. “E3” указывает, где мы хотим, чтобы начиналась наша сводная таблица. Затем мы ссылаемся на эту новую сводную таблицу, используя ее индекс.
Шаг 4: Настройте параметры сводной таблицы
Давайте настроим нашу сводную таблицу! Это означает контроль таких аспектов, как общие итоги и расположение полей.
pivotTable.RowGrand = false;
pivotTable.ColumnGrand = false;
pivotTable.AddFieldToArea(PivotFieldType.Row,1);
PivotField rowField = pivotTable.RowFields[0];
rowField.IsAutoSort = true;
rowField.IsAscendSort = true;
Мы гарантируем, что общие итоги для строк и столбцов не отображаются, что может сделать данные чище. Затем мы добавляем первое поле в область строк, включив автоматическую сортировку и сортировку по возрастанию.
Шаг 5: Добавьте столбцы и поля данных
После того, как строки настроены, давайте добавим столбцы и поля данных.
pivotTable.AddFieldToArea(PivotFieldType.Column,0);
PivotField colField = pivotTable.ColumnFields[0];
colField.NumberFormat = "dd/mm/yyyy";
colField.IsAutoSort = true;
colField.IsAscendSort = true;
Мы добавляем второе поле как столбец и форматируем его как дату. Опять же, мы включаем автоматическую сортировку и порядок возрастания, чтобы все было организовано. Наконец, нам нужно добавить третье поле в нашу область данных:
pivotTable.AddFieldToArea(PivotFieldType.Data,2);
Шаг 6: Обновите и рассчитайте сводную таблицу
После добавления всех необходимых полей давайте убедимся, что наша сводная таблица обновлена и готова.
pivotTable.RefreshData();
pivotTable.CalculateData();
Эти методы обновляют данные и пересчитывают их, гарантируя, что все данные актуальны и правильно отображаются в нашей сводной таблице.
Шаг 7: Пользовательская сортировка на основе значений полей строк
Давайте добавим немного изюминку, отсортировав сводную таблицу по определенным значениям, например, «Морепродукты».
index = pivotTables.Add("=Sheet1!A1:C10", "E10", "PivotTable2");
pivotTable = pivotTables[index];
Мы повторяем процесс, создавая еще одну сводную таблицу и настраивая ее аналогично первой. Теперь мы можем настроить ее дальше:
pivotTable.AddFieldToArea(PivotFieldType.Row,1);
rowField = pivotTable.RowFields[0];
rowField.IsAutoSort = true;
rowField.IsAscendSort = true;
Шаг 8: Дополнительная настройка сортировки. Давайте попробуем другой метод сортировки на основе определенной даты:
// Добавление еще одной сводной таблицы для сортировки по дате
index = pivotTables.Add("=Sheet1!A1:C10", "E18", "PivotTable3");
pivotTable = pivotTables[index];
// Повторите настройки строк и столбцов, аналогичные предыдущим шагам.
Вы просто повторяете тот же процесс, создавая третью сводную таблицу с критериями сортировки, соответствующими вашим потребностям.
Шаг 9: Сохраните WorkbookTime, чтобы сохранить всю проделанную нами тяжелую работу!
wb.Save(outputDir + "out.xlsx");
PdfSaveOptions options = new PdfSaveOptions();
options.OnePagePerSheet = true;
wb.Save(outputDir + "out.pdf", options);
Здесь вы сохраняете книгу как файл Excel и PDF.PdfSaveOptions
обеспечивает лучшее форматирование, гарантируя, что каждый лист будет отображаться на отдельной странице при конвертации.
Шаг 10: Завершение. Завершите все это, дав пользователю знать, что все отлично.
Console.WriteLine("PivotTableCustomSort executed successfully.");
Заключение
К настоящему моменту вы узнали, как использовать возможности Aspose.Cells для создания и настройки сводных таблиц в ваших приложениях .NET. От начальной настройки до пользовательской сортировки, каждый шаг объединяется для обеспечения бесшовного опыта. Независимо от того, нужно ли вам представлять годовые данные о продажах или отслеживать статистику запасов, эти навыки пригодятся вам!
Часто задаваемые вопросы
Что такое сводная таблица?
Сводная таблица — это инструмент обработки данных в Excel, который позволяет обобщать и анализировать данные, предоставляя гибкий способ легкого извлечения информации.
Как установить Aspose.Cells?
Вы можете установить его через NuGet в Visual Studio или загрузить его напрямую с сайтаСсылка для скачивания.
Существует ли пробная версия Aspose.Cells?
Да! Вы можете попробовать бесплатно, посетивБесплатная пробная ссылка.
Можно ли сортировать несколько полей в сводной таблице?
Конечно! Вы можете добавлять и сортировать несколько полей в соответствии с вашими требованиями.
Где я могу найти поддержку Aspose.Cells?
Сообщество довольно активно, и вы можете задавать вопросы на их форуме.здесь.