Создание и форматирование таблицы

Создать таблицу

Одним из преимуществ электронных таблиц является возможность создания различных типов списков, например, списков телефонов, списков задач, списков транзакций, активов или обязательств. Несколько пользователей могут вместе работать с созданием и поддержкой различных списков.

Aspose.Cells поддерживает создание и управление списками.

Преимущества объекта списка

Существует несколько преимуществ при преобразовании списка данных в фактический объект списка

  • Новые строки и столбцы автоматически включаются.
  • Итоговая строка внизу списка легко добавляется для отображения SUM, AVERAGE, COUNT и т. д.
  • Добавленные столбцы справа автоматически включаются в объект списка.
  • Графики, основанные на строках и столбцах, будут автоматически расширены.
  • Именованные диапазоны, присвоенные строкам и столбцам, будут автоматически расширены.
  • Список защищен от случайного удаления строк и столбцов.

Создание объекта списка с использованием Microsoft Excel

Выбор диапазона данных для создания объекта списка
todo:image_alt_text
Это отображает диалоговое окно Создать список.
Диалоговое окно Создать список
todo:image_alt_text
Реализация объекта списка для данных и указание общего количества строк (выберите Данные, затем Список, а затем Общая строка).
Создание объекта списка
todo:image_alt_text

Использование API Aspose.Cells

Aspose.Cells предоставляет класс Workbook, представляющий файл Microsoft Excel. Класс Workbook содержит коллекцию Worksheets, позволяющую получать доступ к каждому листу в файле Excel.

Лист представлен классом Worksheet. Класс Worksheet предоставляет широкий спектр методов для управления листом. Для создания объекта ListObject на листе используйте метод GetListObjects класса Worksheet. Каждый [ListObject] на самом деле является объектом класса ListObjectCollection, который дополнительно предоставляет метод Add для добавления объекта [ListObject] и указания диапазона ячеек для списка.

Согласно указанному диапазону ячеек, объект [ListObject] создается с использованием Aspose.Cells. Используйте атрибуты (например SetShowTotals и GetListColumns и т. д.) класса [ListObject] для управления списком.

В приведенном ниже примере мы создали тот же [ListObject] с использованием API Aspose.Cells, что и сделали с помощью Microsoft Excel в предыдущем разделе.

//For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-C
Aspose::Cells::Startup();
//Path of input
U16String dirPath(u"");
//Path of output
U16String outPath(u"");
// Instantiate a Workbook object and open an Excel file
Workbook workbook(dirPath + u"book1.xls");
// Accessing the first worksheet in the Excel file
Worksheet worksheet = workbook.GetWorksheets().Get(0);
// Get the List objects collection in the first worksheet.
ListObjectCollection listObjects = worksheet.GetListObjects();
// Add a List based on the data source range with headers on.
listObjects.Add(1, 1, 7, 5, true);
// Show the total row for the List.
listObjects.Get(0).SetShowTotals(true);
// Saving the Excel file
workbook.Save(outPath + u"CreatingListObjects_out.xls");
Aspose::Cells::Cleanup();

Форматирование таблицы

Для управления и анализа группы связанных данных можно преобразовать диапазон ячеек в объект списка (также известный как таблица Excel). Таблица представляет собой серию строк и столбцов, содержащих связанные данные, управляемые независимо от данных в других строках и столбцах. По умолчанию каждый столбец в таблице имеет включенную фильтрацию в строке заголовка, так что вы можете быстро фильтровать или сортировать ваши данные объекта списка. Вы можете добавить общую строку (специальная строка в списке, предоставляющая выбор агрегатных функций, полезных для работы с числовыми данными) в объект списка, предоставляющий выпадающий список агрегатных функций для каждой ячейки итоговой строки. Aspose.Cells предоставляет варианты для создания и управления списками (или таблицами).

Форматирование объекта списка

Aspose.Cells предоставляет класс Workbook, представляющий файл Microsoft Excel. Класс Workbook содержит коллекцию Worksheets, позволяющую получать доступ к каждому листу в файле Excel.

Лист представлен классом Worksheet. Класс Worksheet предоставляет широкий спектр методов для управления листами. Чтобы создать ListObject на листе, используйте ListObjectCollection. Каждый [ListObject] на самом деле является объектом класса ListObjectCollection, который дополнительно предоставляет метод Add для добавления объекта [ListObject] и указания диапазона ячеек. Согласно указанному диапазону ячеек, ListObject создается в листе с использованием Aspose.Cells. Используйте атрибуты (например, SetTableStyleType) класса [ListObject] для форматирования таблицы в соответствии с вашими требованиями.

В приведенном ниже примере добавляются образцовые данные на лист, добавляется [ListObject] и к нему применяются стили по умолчанию. Стили [ListObject] поддерживаются Microsoft Excel 2007/2010.

//For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-C
Aspose::Cells::Startup();
//Path of input
U16String dirPath(u"");
//Path of output
U16String outPath(u"");
// Instantiate a Workbook object
Workbook workbook;
// Obtaining the reference of the default(first) worksheet
Worksheet worksheet = workbook.GetWorksheets().Get(0);
// Obtaining Worksheet's cells collection
Cells cells = worksheet.GetCells();
// Setting the value to the cells
cells.Get(u"A1").PutValue(u"Employee");
cells.Get(u"B1").PutValue(u"Quarter");
cells.Get(u"C1").PutValue(u"Product");
cells.Get(u"D1").PutValue(u"Continent");
cells.Get(u"E1").PutValue(u"Country");
cells.Get(u"F1").PutValue(u"Sale");
cells.Get(u"A2").PutValue(u"David");
cells.Get(u"A3").PutValue(u"David");
cells.Get(u"A4").PutValue(u"David");
cells.Get(u"A5").PutValue(u"David");
cells.Get(u"A6").PutValue(u"James");
cells.Get(u"A7").PutValue(u"James");
cells.Get(u"A8").PutValue(u"James");
cells.Get(u"A9").PutValue(u"James");
cells.Get(u"A10").PutValue(u"James");
cells.Get(u"A11").PutValue(u"Miya");
cells.Get(u"A12").PutValue(u"Miya");
cells.Get(u"A13").PutValue(u"Miya");
cells.Get(u"A14").PutValue(u"Miya");
cells.Get(u"A15").PutValue(u"Miya");
cells.Get(u"B2").PutValue(1);
cells.Get(u"B3").PutValue(2);
cells.Get(u"B4").PutValue(3);
cells.Get(u"B5").PutValue(4);
cells.Get(u"B6").PutValue(1);
cells.Get(u"B7").PutValue(2);
cells.Get(u"B8").PutValue(3);
cells.Get(u"B9").PutValue(4);
cells.Get(u"B10").PutValue(4);
cells.Get(u"B11").PutValue(1);
cells.Get(u"B12").PutValue(1);
cells.Get(u"B13").PutValue(2);
cells.Get(u"B14").PutValue(2);
cells.Get(u"B15").PutValue(2);
cells.Get(u"C2").PutValue(u"Maxilaku");
cells.Get(u"C3").PutValue(u"Maxilaku");
cells.Get(u"C4").PutValue(u"Chai");
cells.Get(u"C5").PutValue(u"Maxilaku");
cells.Get(u"C6").PutValue(u"Chang");
cells.Get(u"C7").PutValue(u"Chang");
cells.Get(u"C8").PutValue(u"Chang");
cells.Get(u"C9").PutValue(u"Chang");
cells.Get(u"C10").PutValue(u"Chang");
cells.Get(u"C11").PutValue(u"Geitost");
cells.Get(u"C12").PutValue(u"Chai");
cells.Get(u"C13").PutValue(u"Geitost");
cells.Get(u"C14").PutValue(u"Geitost");
cells.Get(u"C15").PutValue(u"Geitost");
cells.Get(u"D2").PutValue(u"Asia");
cells.Get(u"D3").PutValue(u"Asia");
cells.Get(u"D4").PutValue(u"Asia");
cells.Get(u"D5").PutValue(u"Asia");
cells.Get(u"D6").PutValue(u"Europe");
cells.Get(u"D7").PutValue(u"Europe");
cells.Get(u"D8").PutValue(u"Europe");
cells.Get(u"D9").PutValue(u"Europe");
cells.Get(u"D10").PutValue(u"Europe");
cells.Get(u"D11").PutValue(u"America");
cells.Get(u"D12").PutValue(u"America");
cells.Get(u"D13").PutValue(u"America");
cells.Get(u"D14").PutValue(u"America");
cells.Get(u"D15").PutValue(u"America");
cells.Get(u"E2").PutValue(u"China");
cells.Get(u"E3").PutValue(u"India");
cells.Get(u"E4").PutValue(u"Korea");
cells.Get(u"E5").PutValue(u"India");
cells.Get(u"E6").PutValue(u"France");
cells.Get(u"E7").PutValue(u"France");
cells.Get(u"E8").PutValue(u"Germany");
cells.Get(u"E9").PutValue(u"Italy");
cells.Get(u"E10").PutValue(u"France");
cells.Get(u"E11").PutValue(u"U.S.");
cells.Get(u"E12").PutValue(u"U.S.");
cells.Get(u"E13").PutValue(u"Brazil");
cells.Get(u"E14").PutValue(u"U.S.");
cells.Get(u"E15").PutValue(u"U.S.");
cells.Get(u"F2").PutValue(2000);
cells.Get(u"F3").PutValue(500);
cells.Get(u"F4").PutValue(1200);
cells.Get(u"F5").PutValue(1500);
cells.Get(u"F6").PutValue(500);
cells.Get(u"F7").PutValue(1500);
cells.Get(u"F8").PutValue(800);
cells.Get(u"F9").PutValue(900);
cells.Get(u"F10").PutValue(500);
cells.Get(u"F11").PutValue(1600);
cells.Get(u"F12").PutValue(600);
cells.Get(u"F13").PutValue(2000);
cells.Get(u"F14").PutValue(500);
cells.Get(u"F15").PutValue(900);
// Adding a new List Object to the worksheet
worksheet.GetListObjects().Add(u"A1", u"F15", true);
ListObject listObject = worksheet.GetListObjects().Get(0);
// Adding Default Style to the table
listObject.SetTableStyleType(TableStyleType::TableStyleMedium10);
// Show Total
listObject.SetShowTotals(true);
// Saving the Excel file
workbook.Save(outPath + u"FormatTable_out.xlsx");
Aspose::Cells::Cleanup();