English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Se, no Excel, for possível agrupar dados com detalhes de vários níveis e exibi-los, será possível mostrar claramente a estrutura do gráfico de dados, conferindo ao documento uma sensação de hierarquia. De acordo com a necessidade, configure a exibição ou ocultação dos detalhes das categorias, facilitando a visualização e gestão dos dados ao mesmo tempo que o documento ganha mais beleza. Então, como criar uma exibição de agrupamento de dados de Excel de vários níveis em C#? A seguir será detalhado. O método usa o componente gratuitoFree Spire.XLS for .NETBaixe e instale o componente, crie um aplicativo de console e adicione o arquivo dll do pacote de instalação do componente ao projeto, adicione também o espaço de nomes correspondente. A seguir estão os passos específicos do código para referência.
Passo um:Criar um objeto do tipo Wordbook e obter a primeira planilha
Workbook workbook = new Workbook(); Worksheet sheet = workbook.Worksheets[0];
Passo dois:Escrever dados na célula
sheet.Range["A1"].Value = "Departamentos da empresa"; sheet.Range["A3"].Value = "Departamento geral"; sheet.Range["A4"].Value = "Administrativo"; sheet.Range["A5"].Value = "Pessoal"; sheet.Range["A6"].Value = "Departamento de marketing"; sheet.Range["A7"].Value = "Departamento de negócios"; sheet.Range["A8"].Value = "Departamento de atendimento ao cliente"; sheet.Range["A9"].Value = "Departamento técnico"; sheet.Range["A10"].Value = "Desenvolvimento técnico"; sheet.Range["A11"].Value = "Suporte técnico"; sheet.Range["A12"].Value = "Suporte pré-venda"; sheet.Range["A13"].Value = "Suporte pós-venda";
Passo três:Definir a propriedade IsSummaryRowBelow como false, mostrando a linha de resumo acima das linhas de detalhe
sheet.PageSetup.IsSummaryRowBelow = false;
Passo quatro:Selecionar a linha para agrupar, o parâmetro false indica expandir o grupo atual, para ocultar, configure como true
//Escolher linhas para agrupamento de um nível sheet.GroupByRows(2, 13, false); //Escolher linhas para agrupamento de dois níveis sheet.GroupByRows(4,5 , false); sheet.GroupByRows(7, 8, false); sheet.GroupByRows(10,13 , false); //Escolher linhas para agrupamento de três níveis sheet.GroupByRows(12,13, true);
Passo cinco:Definir um objeto CellStyle, aplicar e usar o formato para a fonte dentro da célula
CellStyle style = workbook.Styles.Add("style"); style.Font.IsBold = true; style.Color = Color.LawnGreen; sheet.Range["A1"]').CellStyleName = style.Name; sheet.Range["A3"]').CellStyleName = style.Name; sheet.Range["A6"]').CellStyleName = style.Name; sheet.Range["A9"]').CellStyleName = style.Name;
Passo seis:Definir estilo de borda da área
sheet.Range["A4:A5"]').BorderAround(LineStyleType.Thin); sheet.Range["A4:A5"].BorderInside(LineStyleType.Thin); sheet.Range["A7:A8"]').BorderAround(LineStyleType.Thin); sheet.Range["A7:A8"].BorderInside(LineStyleType.Thin); sheet.Range["A10:A13"]').BorderAround(LineStyleType.Thin); sheet.Range["A10:A13"].BorderInside(LineStyleType.Thin);
Passo sete:Salvar documento
workbook.SaveToFile("output.xlsx", ExcelVersion.Version2013);
Executar o programa para gerar o documento (pode ser verificado na pasta bin>Debug do projeto)
Exibição de efeitos:
Todo o código:
using System; using System.Drawing; using Spire.Xls; namespace MultilevelGroup_XLS { class Program { static void Main(string[] args) { //Criar um objeto do tipo Wordbook e obter a primeira planilha Workbook workbook = new Workbook(); Worksheet sheet = workbook.Worksheets[0]; //Escrever dados na célula sheet.Range["A1"].Value = "Departamentos da empresa"; sheet.Range["A3"].Value = "Departamento geral"; sheet.Range["A4"].Value = "Administrativo"; sheet.Range["A5"].Value = "Pessoal"; sheet.Range["A6"].Value = "Departamento de marketing"; sheet.Range["A7"].Value = "Departamento de negócios"; sheet.Range["A8"].Value = "Departamento de atendimento ao cliente"; sheet.Range["A9"].Value = "Departamento técnico"; sheet.Range["A10"].Value = "Desenvolvimento técnico"; sheet.Range["A11"].Value = "Suporte técnico"; sheet.Range["A12"].Value = "Suporte pré-venda"; sheet.Range["A13"].Value = "Suporte pós-venda"; //Definir IsSummaryRowBelow como false, mostrando a linha de resumo acima das linhas de detalhe sheet.PageSetup.IsSummaryRowBelow = false; //Escolher linhas para agrupamento de um nível //O parâmetro false indica expandir o agrupamento atual, se desejar ocultar, configure como true sheet.GroupByRows(2, 13, false); //Escolher linhas para agrupamento de dois níveis sheet.GroupByRows(4,5 , false); sheet.GroupByRows(7, 8, false); sheet.GroupByRows(10,13 , false); //Escolher linhas para agrupamento de três níveis sheet.GroupByRows(12,13, true); //Definir um objeto CellStyle, ajustar e aplicar o formato de fonte dentro da célula CellStyle style = workbook.Styles.Add("style"); style.Font.IsBold = true; style.Color = Color.LawnGreen; sheet.Range["A1"]').CellStyleName = style.Name; sheet.Range["A3"]').CellStyleName = style.Name; sheet.Range["A6"]').CellStyleName = style.Name; sheet.Range["A9"]').CellStyleName = style.Name; //Definir estilo de borda da área sheet.Range["A4:A5"]').BorderAround(LineStyleType.Thin); sheet.Range["A4:A5"].BorderInside(LineStyleType.Thin); sheet.Range["A7:A8"]').BorderAround(LineStyleType.Thin); sheet.Range["A7:A8"].BorderInside(LineStyleType.Thin); sheet.Range["A10:A13"]').BorderAround(LineStyleType.Thin); sheet.Range["A10:A13"].BorderInside(LineStyleType.Thin); //Salvar documento workbook.SaveToFile("output.xlsx", ExcelVersion.Version2013); System.Diagnostics.Process.Start("output.xlsx"); } } }
Aqui estão todos os passos de configuração para o agrupamento multi-nível do Excel.
Isso é tudo o que há no artigo, esperamos que ajude na aprendizagem de todos e que todos apoiem o tutorial de gritaria.
Declaração: O conteúdo deste artigo é extraído da Internet, pertence ao autor original, foi contribuído e carregado voluntariamente pelos usuários da Internet, este site não possui direitos de propriedade, não foi editado manualmente e não assume responsabilidade por eventuais responsabilidades legais. Se você encontrar conteúdo suspeito de violação de direitos autorais, por favor, envie um e-mail para: notice#oldtoolbag.com (ao enviar e-mail, substitua # por @ para denunciar e forneça provas relevantes. Aparentemente, o site deletará o conteúdo suspeito de violação de direitos autorais imediatamente.