Angular Usando Tabelas

    A funcionalidade WorksheetTable do Angular Excel Engine da Infragistics permite que você formate seus dados em linhas e colunas. Os dados em uma tabela de planilha podem ser gerenciados independentemente dos dados nas outras linhas e colunas de uma worksheet.

    Adding a Table to a Worksheet

    As tabelas de planilha no Infragistics Angular Excel Engine são representadas pelo objeto WorksheetTable e são adicionadas na coleção tables da planilha. Para adicionar uma tabela, você precisa invocar o método Add nesta coleção. Neste método, você pode especificar a região na qual gostaria de adicionar uma tabela, se a tabela deve ou não conter cabeçalhos e, opcionalmente, especificar o estilo da tabela como um objeto WorksheetTableStyle.

    O código a seguir demonstra como você pode adicionar uma tabela com cabeçalhos a uma worksheet 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 os métodos insertColumns, insertDataRows, deleteColumns ou deleteDataRows na WorksheetTable. Você também pode definir um novo intervalo de tabela usando o método resize 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 na WorksheetTable. Quando o filtro é aplicado em uma coluna, todos os filtros na 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 você alterar a propriedade Hidden das linhas, as condições do filtro não serão reavaliadas automaticamente. As condições do filtro em uma tabela são reaplicadas somente quando filtros de coluna da tabela são adicionados, removidos, modificados ou quando o método reapplyFilters é chamado na tabela.

    A seguir estão os tipos de filtros disponíveis para as colunas da sua WorksheetTable:

    • AverageFilter- As células podem ser filtradas com base no fato de estarem 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- Somente células com datas em um mês ou trimestre específico de qualquer ano serão exibidas.
    • FillFilter- Somente células com um preenchimento específico serão exibidas.
    • FixedValuesFilter- Células que correspondem apenas a valores de exibição específicos ou que estão dentro de um grupo específico de datas/horas serão exibidas.
    • FontColorFilter- Somente células com uma cor de fonte específica serão exibidas.
    • RelativeDateRangeFilter- Células com valores de data podem ser filtradas com base na ocorrência ou não dentro de um intervalo de tempo relativo da data em que o filtro foi aplicado, como o dia seguinte ou o trimestre anterior.
    • TopOrBottomFilter- Este filtro permite filtrar os valores N superiores ou inferiores. Ele também permite filtrar os valores N% superiores ou inferiores.
    • 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 trecho de código a seguir demonstra como aplicar um filtro "acima da média" à primeira coluna de uma WorksheetTable:

    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 classificação não serão reavaliadas automaticamente. As condições de classificação em uma tabela são reaplicadas somente quando as condições de classificação são adicionadas, removidas, modificadas ou quando o método reapplySortConditions é chamado na tabela. Quando as condições de classificação são reavaliadas, somente as células visíveis são classificadas. Todas as células em linhas ocultas são mantidas no lugar.

    Além de acessar condições de classificação das colunas da tabela, elas também são expostas da coleção sortConditions da propriedade sortSettings do WorksheetTable. Esta é uma coleção ordenada de pares de colunas/condições de classificação. A ordem desta coleção é a precedência da classificação.

    Os seguintes tipos de condições de classificação estão disponíveis para serem definidos em colunas:

    • OrderedSortCondition- Classifica células em ordem crescente ou decrescente com base em seu valor.
    • CustomListSortCondition- Classifica células em uma ordem definida com base em seu texto ou valor de exibição. Por exemplo, isso pode ser útil para classificar dias conforme eles aparecem em um calendário, em vez de alfabeticamente.
    • FillSortCondition- Classifica células com base no preenchimento de um padrão ou gradiente específico.
    • FontColorSortCondition- Classifica células com base na cor específica da fonte.

    Há também uma propriedade caseSensitive em sortSettings da WorksheetTable para determinar se as strings devem ser classificadas com diferenciação entre maiúsculas e minúsculas ou não.

    O trecho de código a seguir demonstra como aplicar uma OrderedSortCondition a uma WorksheetTable:

    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));
    

    API References