Создание и форматирование таблицы
Создать таблицу
Одним из преимуществ электронных таблиц является возможность создания различных типов списков, например, списков телефонов, списков задач, списков транзакций, активов или обязательств. Несколько пользователей могут вместе работать с созданием и поддержкой различных списков.
Aspose.Cells поддерживает создание и управление списками.
Преимущества объекта списка
Существует несколько преимуществ при преобразовании списка данных в фактический объект списка
- Новые строки и столбцы автоматически включаются.
- Итоговая строка внизу списка легко добавляется для отображения SUM, AVERAGE, COUNT и т. д.
- Добавленные столбцы справа автоматически включаются в объект списка.
- Графики, основанные на строках и столбцах, будут автоматически расширены.
- Именованные диапазоны, присвоенные строкам и столбцам, будут автоматически расширены.
- Список защищен от случайного удаления строк и столбцов.
Создание объекта списка с использованием Microsoft Excel
Выбор диапазона данных для создания объекта списка |
---|
![]() |
Это отображает диалоговое окно Создать список. |
Диалоговое окно Создать список |
---|
![]() |
Реализация объекта списка для данных и указание общего количества строк (выберите Данные, затем Список, а затем Общая строка). |
Создание объекта списка |
---|
![]() |
Использование 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(); |