React Usando tabelas
A funcionalidade doWorksheetTable Infragistics React Excel Engine permite formatar seus dados em linhas e colunas. Os dados em uma tabela de planilhas podem ser gerenciados independentemente dos dados das outras linhas e colunas em umworksheet.
Adding a Table to a Worksheet
As tabelas de folhas de exercícios no Infragistics React Excel Engine são representadas peloWorksheetTable objeto e adicionadas à coleção datables planilha. Para adicionar uma tabela, você precisa invocar oAdd método dessa coleção. Nesse método, você pode especificar a região onde deseja adicionar uma tabela, se a tabela deve conter cabeçalhos e, opcionalmente, especificar o estilo da tabela como umWorksheetTableStyle objeto.
O código a seguir demonstra como você pode adicionar uma tabela com cabeçalhos a umaworksheet região que abrange uma região de A1 a G10, onde A1 a G1 serão os cabeçalhos das colunas:
var workbook = new Workbook(WorkbookFormat.Excel2007);
var worksheet = this.workbook.worksheets().add("Sheet1");
worksheet.tables().add("A1:G10", true);
Depois de adicionar uma tabela, você pode modificá-la adicionando ou excluindo linhas e colunas chamando oinsertColumns,insertDataRowsdeleteColumns,, oudeleteDataRows métodos noWorksheetTable. Você também pode definir um novo intervalo de tabela usando oresize método da tabela.
O trecho de código a seguir mostra o uso desses métodos:
var workbook = new Workbook(WorkbookFormat.Excel2007);
var worksheet = workbook.worksheets().add("Sheet1");
var table = worksheet.tables().add("A1:G10", true);
//Will add 5 columns at index 1.
table.insertColumns(1, 5);
//Will add 5 rows at index 0.
table.insertDataRows(0, 5);
//Will delete 5 columns starting at index 1.
table.deleteColumns(1, 5);
//Will delete 5 rows starting at index 0.
table.deleteDataRows(0, 5);
//Will resize the table to be in the region of A1:G15.
table.resize("A1:G15");
Filtering Tables
A filtragem é feita aplicando um filtro em uma coluna no.WorksheetTable Quando o filtro é aplicado em uma coluna, todos os filtros da tabela serão reavaliados para determinar quais linhas atendem aos critérios de todos os filtros aplicados.
Se os dados na tabela forem alterados posteriormente ou se você alterar aHidden propriedade das linhas, as condições do filtro não serão reavaliadas automaticamente. As condições de filtro em uma tabela só são reaplicadas quando filtros de coluna da tabela são adicionados, removidos, modificados ou quando oreapplyFilters método é chamado na tabela.
A seguir estão os tipos de filtro disponíveis para as colunas de yourWorksheetTable:
AverageFilter- As células podem ser filtradas com base em se estão acima ou abaixo do valor médio de todas as células na coluna.CustomFilter- As células podem ser filtradas com base em uma ou mais condições personalizadas.DatePeriodFilter- Apenas células com datas em um mês ou trimestre específico de qualquer ano serão exibidas.FillFilter- Apenas células com preenchimento específico serão exibidas.FixedValuesFilter- Serão exibidas células que correspondem apenas a valores de exibição específicos ou que pertencem a um grupo específico de datas/horas.FontColorFilter- Apenas células com uma cor de fonte específica serão exibidas.RelativeDateRangeFilter- Células com valores de data podem ser filtradas com base em ocorrerem dentro de um intervalo de tempo relativo à data em que o filtro foi aplicado, como no dia seguinte ou no trimestre anterior.TopOrBottomFilter- Este filtro permite filtrar os valores N superiores ou inferiores. Também permite filtrar os valores superiores ou inferiores de N%.YearToDateFilter- Células com valores de data podem ser filtradas se ocorrerem entre o início do ano e a data em que o filtro foi aplicado.
O seguinte trecho de código demonstra como aplicar um filtro "acima da média" na primeira coluna de aWorksheetTable:
var workbook = new Workbook(WorkbookFormat.Excel2007);
var worksheet = workbook.worksheets().add("Sheet1");
var table = worksheet.tables().add("A1:G10", true);
table.columns(0).applyAverageFilter(AverageFilterType.AboveAverage);
Sorting Tables
A classificação é feita definindo uma condição de classificação em uma coluna da tabela. Quando uma condição de classificação é definida em uma coluna, todas as condições de classificação na tabela serão reavaliadas para determinar a ordem das células na tabela. Quando as células precisam ser movidas para atender aos seus critérios de classificação, a linha inteira de células na tabela é movida como uma unidade.
Se os dados na tabela forem alterados posteriormente, as condições de ordenação não são automaticamente reavaliadas. As condições de ordenação em uma tabela só são reaplicadas quando condições de ordenação são adicionadas, removidas, modificadas ou quando oreapplySortConditions método é chamado na tabela. Quando as condições de ordenação são reavaliadas, apenas as células visíveis são ordenadas. Todas as células em fileiras ocultas são mantidas no lugar.
Além de acessar as condições de ordenação das colunas da tabela, elas também são expostas naWorksheetTablesortSettings coleção da propriedadesortConditions. Esta é uma coleção ordenada de pares de colunas e condições de ordenação. A ordem dessa coleção é a precedência da ordenação.
Os seguintes tipos de condições de classificação estão disponíveis para serem definidos em colunas:
OrderedSortCondition- Ordenar as células em ordem crescente ou decrescente com base em seu valor.CustomListSortCondition- Ordenar as células em uma ordem definida baseada em seu texto ou valor de exibição. Por exemplo, isso pode ser útil para ordenar os dias conforme aparecem em um calendário, em vez de em ordem alfabética.FillSortCondition- Ordenar as células com base em se seu preenchimento é um padrão ou gradiente específico.FontColorSortCondition- Ordenar as células com base em se a fonte é de cor específica.
Há também umacaseSensitive propriedade nosortSettings deWorksheetTable para determinar se as cadeias devem ser ordenadas de forma sensível a maiúsculas ou minúsculas ou não.
O seguinte trecho de código demonstra como aplicar anOrderedSortCondition a aWorksheetTable:
var workbook = new Workbook(WorkbookFormat.Excel2007);
var worksheet = this.workbook.worksheets().add("Sheet1");
var table = worksheet.tables().add("A1:G10", true);
table.columns(0).sortCondition = new OrderedSortCondition(SortDirection.Ascending);
//Alternative:
table.sortSettings.sortConditions().addItem(table.columns(0), new OrderedSortCondition(SortDirection.Ascending));