Trabalhar com mesas
Trabalhar com mesas
Aspose.Cells FOSS for Java supports Excel tables (also known as ListObjects or Você pode criar novas tabelas a partir de intervalos de células, inspecionar tabelas existentes, configurar linhas de cabeçalho e totais, aplicar estilos de tabela integrados;, acessar colunas individuais, e converter tabelas de volta para os intervalos normais. ponto de entrada é: ListObjectCollection, acessado através de: Worksheet.getListObjects().
Resumo geral
As tabelas numa folha de cálculo são geridas através do sistema de gestão da informação. ListObjectCollection devolvido por: Worksheet.getListObjects().Cada um . ListObject representa uma tabela do Excel e expõe o seu nome de exibição, comentário, limites do intervalo das células, coleção de colunas, estilo configurações e visibilidade das linhas de cabeçalho/total.
Uma nova tabela é criada com ListObjectCollection.add(startRow, startColumn, endRow, endColumn, hasHeaders), que retorna o índice baseado em zero da tabela recém-criada. Uma alternativa é a taxa de referência do número de números, e então os valores são dados para cada um dos dois tipos de tabelas. sobrecarga aceita cadeias de nomes de célula: ListObjectCollection.add(startCellName, endCellName, hasHeaders).
Classe-chave
| Classe: | Descrição: |
|---|---|
ListObject | Representa uma única tabela do Excel. Expõe getDisplayName(), getComment(), coordenadas de intervalo, coleção de colunas, tipo de estilo e visibilidade da linha do cabeçalho/total. |
ListObjectCollection | Coleção de todas as tabelas numa folha de cálculo. Suportes getCount(), indexado e nomeação via get(), add(), remove(), e auxiliares de conversão do tipo estilo. |
ListColumn | Representa uma coluna dentro de uma tabela. Exponha a ID da colunla, o nome e as configurações do cálculo das linhas totais. |
ListColumnCollection | Coleção ordenada de colunas numa tabela. Iterável com acesso a contagem e índice. |
TableStyleType | Enum identificando um estilo de tabela do Excel incorporado (Light 121, Medium 1 ??28, Dark 1 11, ou Custom/None). |
TotalsCalculation | Enum para a função de agregação na linha dos totais de uma tabela (SUMO, CONTAÇÃO, MEDIAÇÕES, MAX, MIN, STD_DEV, VAR, COUNT_NUMS, CUSTOM, NONE). |
Acesso a tabelas numa planilha
Recuperar o ListObjectCollection de qualquer Worksheet via: Worksheet.getListObjects().- Usar . ListObjectCollection.getCount() para determinar: Quantas tabelas existem. As tabeladas individuais são acessadas por índice baseado em zero através de ListObjectCollection.get(index) ou pelo nome de exibição através do ListObjectCollection.get(name).
Workbook wb = new Workbook("input.xlsx");
WorksheetCollection sheets = wb.getWorksheets();
Worksheet ws = sheets.get(0);
ListObjectCollection tables = ws.getListObjects();
for (int i = 0; i < tables.getCount(); i++) {
ListObject table = tables.get(i);
System.out.println("Table: " + table.getDisplayName()
+ " rows: " + table.getStartRow() + "-" + table.getEndRow());
}Criar uma nova mesa
Utilização: ListObjectCollection.add() para inserir uma tabela sobre um intervalo de células. O hasHeaders Parâmetro indica se a primeira linha do intervalo contém: cabeçalhos de coluna.
Workbook wb = new Workbook();
WorksheetCollection sheets = wb.getWorksheets();
Worksheet ws = sheets.get(0);
// Populate data
ws.getCells().get("A1").putValue("Product");
ws.getCells().get("B1").putValue("Quantity");
ws.getCells().get("A2").putValue("Widget");
ws.getCells().get("B2").putValue(100);
// Create table over A1:B2 with headers in row 0
int tableIndex = ws.getListObjects().add(0, 0, 1, 1, true);
ListObject table = ws.getListObjects().get(tableIndex);
table.setDisplayName("SalesTable");Inspecção das propriedades da tabela
Uma vez que você segurar um ListObject referências que pode ler:
ListObject.getDisplayName()a cadeia de nomes da tabela.ListObject.getComment()um comentário facultativo associado à tabela.ListObject.getStartRow()/ListObject.getStartColumn()Celular superior esquerdo do intervalo da tabela.ListObject.getEndRow()/ListObject.getEndColumn()Celular inferior direito do intervalo da tabela.ListObject.isShowHeaderRow()se a linha de cabeçalho é visível.ListObject.isShowTotals()se a linha de totais é visível.ListObject.getListColumns()oListColumnCollectionPara a mesa.
Tabelas de estilo
Aplicar um estilo de tabela integrado usando ListObject.setTableStyleType(TableStyleType). A Comissão TableStyleType enum inclui Light (121), Medium (1 ??28), e Dark (1 11) variantes mais NONE e a) CUSTOM.
ListObject table = ws.getListObjects().get(0);
table.setTableStyleType(TableStyleType.TABLE_STYLE_MEDIUM_2);Modelos adicionais de controle alternativos para linhas com faixa, colunas com banda e ênfase na primeira/última coluna:
ListObject.setShowTableStyleRowStripes(boolean)ListObject.setShowTableStyleColumnStripes(boolean)ListObject.setShowTableStyleFirstColumn(boolean)ListObject.setShowTableStyleLastColumn(boolean)
Também pode definir um nome de estilo personalizado com ListObject.setTableStyleName(String).
Métodos auxiliares ListObjectCollection.parseTableStyleType(String) e a) ListObjectCollection.tableStyleTypeName(TableStyleType) Convertir entre os valores de enum e sua representação de cadeia.
Trabalhar com colunas de tabela
Acesso a colunas individuais através do ListObject.getListColumns(), que retorna um valor de ListColumnCollection.Cada um . ListColumn expõe:
ListColumn.getId()o identificador de coluna OOXML baseado num único código.ListColumn.getName()/ListColumn.setName(String)o texto do cabeçalho da coluna.ListColumn.getTotalsCalculation()/ListColumn.setTotalsCalculation(TotalsCalculation)a função de agregação para a linha dos totais.ListColumn.getTotalsRowLabel()/ListColumn.setTotalsRowLabel(String)um rótulo personalizado na linha de totais.ListColumn.getTotalsRowFormula()/ListColumn.setTotalsRowFormula(String)uma fórmula personalizada para a linha de totais.
ListObject table = ws.getListObjects().get(0);
ListColumnCollection columns = table.getListColumns();
for (int i = 0; i < columns.getCount(); i++) {
ListColumn col = columns.get(i);
System.out.println("Column " + col.getId() + ": " + col.getName());
}Configuração da linha de totais
Ativar a linha de totais com ListObject.setShowTotals(true), então definido por coluna Funções de agregação utilizando o método TotalsCalculation - Não.
ListObject table = ws.getListObjects().get(0);
table.setShowTotals(true);
ListColumn qtyColumn = table.getListColumns().get(1);
qtyColumn.setTotalsCalculation(TotalsCalculation.SUM);
ListColumn labelColumn = table.getListColumns().get(0);
labelColumn.setTotalsRowLabel("Total");Redimensionar e converter mesas
Alterar o tamanho de uma tabela para cobrir um intervalo diferente de células usando: ListObject.resize(startRow, startColumn, endRow, endColumn, hasHeaders).
Converter uma tabela de volta para um intervalo normal com: ListObject.convertToRange(). Isto remove a estrutura da tabela, preservando os dados das células e o formato.
Remover uma tabela inteiramente da coleção com: ListObjectCollection.removeAt(index).
Filtros automáticos em mesas
Mostrar ou remover as setas de filtro automático na lista suspensa das colunas numa tabela:
ListObject.showAutoFilter()exibir setas de filtro na linha do cabeçalho.ListObject.removeAutoFilter()Esconda as setas de filtro.
Resumo de referência da API
ListObject
| Método de avaliação | Tipo de devolução | Descrição: |
|---|---|---|
getDisplayName() | String | Indicar o nome da mesa. |
setDisplayName(name) | void | Indica o nome de exibição. |
getComment() | String | Comentário opcional para a tabela. |
setComment(comment) | void | Estabelece o comentário da tabela. |
getStartRow() | int | Índice de linha inicial do intervalo da tabela. |
getStartColumn() | int | Índice de coluna inicial do intervalo da tabela. |
getEndRow() | int | Índice de linha final do intervalo da tabela. |
getEndColumn() | int | Índice de coluna final do intervalo da tabela. |
isShowHeaderRow() | boolean | Se a linha de cabeçalho é visível. |
setShowHeaderRow(show) | void | Mostra ou oculta a linha de cabeçalho. |
isShowTotals() | boolean | Se a linha de totais é visível. |
setShowTotals(show) | void | Mostra ou oculta a linha de totais. |
getTableStyleType() | TableStyleType | O estilo de mesa integrada. |
setTableStyleType(type) | void | Aplica um estilo de mesa incorporado. |
getTableStyleName() | String | Nome de estilo de mesa personalizado. |
setTableStyleName(name) | void | Defina um nome de estilo de tabela personalizado. |
getListColumns() | ListColumnCollection | A coleção de colunas da mesa. |
resize(...) | void | Redimensionar a mesa para uma nova faixa. |
convertToRange() | void | Converte a tabela para um intervalo normal. |
showAutoFilter() | void | Mostra as setas de filtro automático. |
removeAutoFilter() | void | Esconde as setas de filtro automático. |
ListObjectCollection
| Método de avaliação | Tipo de devolução | Descrição: |
|---|---|---|
getCount() | int | Número de tabelas na folha de cálculo. |
get(index) | ListObject | Retorna a tabela no índice baseado em zero dado. |
get(name) | ListObject | Retorna a tabela com o nome de exibição dado. |
add(startRow, startColumn, endRow, endColumn, hasHeaders) | int | Cria uma nova tabela; retorna o seu índice. |
add(startCellName, endCellName, hasHeaders) | int | Cria uma nova tabela a partir de nomes de células; retorna o seu índice. |
removeAt(index) | void | Remove a tabela no índice dado. |
parseTableStyleType(name) | TableStyleType | Converte uma cadeia de caracteres em um TableStyleType valor enum. |
tableStyleTypeName(type) | String | Converte a TableStyleType enum para o seu nome de cadeia. |
ListColumn
| Método de avaliação | Tipo de devolução | Descrição: |
|---|---|---|
getId() | int | Identificador de coluna OOXML baseado num único elemento. |
getName() | String | Texto de cabeçalho da coluna. |
setName(name) | void | Indica o texto do cabeçalho da coluna. |
getTotalsCalculation() | TotalsCalculation | Função de agregação das linhas dos totais. |
setTotalsCalculation(calc) | void | Define a agregação das linhas de totais. |
getTotalsRowLabel() | String | Rótulo personalizado na linha de totais. |
setTotalsRowLabel(label) | void | Indica a etiqueta da linha de totais. |
getTotalsRowFormula() | String | Fórmula personalizada para a linha de totais. |
setTotalsRowFormula(formula) | void | Estabelece a fórmula da linha de totais. |
Limitações
- As ligações de dados das tabelas não podem ser modificadas separadamente; a tabela abrange o intervalo especificado no momento da criação.
resize()para ajustar a faixa coberta. - Os estilos de tabela personalizados devem ser definidos no livro antes de os referenciar . por nome via
setTableStyleName().