Neste artigo, explicarei como excluir linhas e colunas em branco em um arquivo do Excel usando C#. Também explicarei como atualizar as referências automaticamente (usadas em fórmulas, gráficos e tabelas) ao excluir linhas e colunas em branco.
- Excluir linhas em branco no Excel usando C #
- Atualizar referências automaticamente ao excluir linhas em branco
- Excluir colunas em branco no Excel usando C #
API C# para remover linhas e colunas em branco
Aspose.Cells for .NET é uma API de manipulação de planilhas bem conhecida que permite criar e processar arquivos Excel a partir de seus aplicativos .NET. A API permite remover linhas e colunas em branco nos arquivos do Excel em algumas linhas de código. Você pode baixar os binários da API ou instalá-la usando NuGet.
PM> Install-Package Aspose.Cells
Excluir linhas em branco no Excel usando C
A seguir estão as etapas para excluir todas as linhas em branco no Excel usando C#.
- Abra um arquivo Excel usando o objeto Workbook.
- Acesse a planilha que tem as linhas em branco. A planilha pode ser acessada por índice (base zero) ou por nome.
- Chame o método Cells.DeleteBlankRows() para excluir todas as linhas em branco que não contêm nenhum dado.
O código de exemplo a seguir mostra como remover linhas em branco no Excel usando C#.
using Aspose.Cells;
// Abra um arquivo excel existente.
Workbook wb = new Workbook("SampleInput.xlsx");
// Obtenha a coleção de planilhas na planilha.
WorksheetCollection sheets = wb.Worksheets;
// Obtenha a primeira planilha de WorksheetCollection por índice.
Worksheet sheet = sheets[0];
// Ou pelo nome.
// Planilha folha = folhas["Planilha1"];
// Exclua as linhas em branco da planilha.
sheet.Cells.DeleteBlankRows();
// Salve o arquivo excel.
wb.Save("SampleOutput.xlsx");
Observe que o método Cells.DeleteBlankRows remove as linhas em branco mesmo que algum tipo de formatação seja aplicado a elas. Ele também remove as linhas em branco formatadas abaixo de seus dados.
Se você deseja excluir linhas em branco de todas as planilhas em um documento do Excel, basta iterar sobre WorksheetCollection e chamar o método DeleteBlankRows em cada planilha conforme mostrado no código a seguir:
// Abra um arquivo excel existente.
Workbook workbook = new Workbook("SampleInput.xlsx");
// Iterar sobre as planilhas.
foreach (Worksheet sheet in workbook.Worksheets)
{
// Exclua as linhas em branco da planilha.
sheet.Cells.DeleteBlankRows();
}
// Salve o arquivo excel.
workbook.Save("SampleOutput.xlsx");
Atualizar referências automaticamente ao excluir linhas em branco
A exclusão de linhas em branco pode quebrar referências em fórmulas, gráficos e tabelas. Por exemplo, a célula B2 na segunda planilha tem uma fórmula =Planilha1!C3 que se refere à célula C3 na primeira planilha, conforme mostrado na figura a seguir.
Se removermos as linhas em branco em Sheet1, o valor lima@gmail.com será movido para a célula C1. Mas a fórmula (=Planilha1!C3) não será atualizada e a célula B2 conterá um valor inválido conforme mostrado abaixo.
Podemos evitar esse problema usando a propriedade DeleteOptions.UpdateReference e definindo-a como true. Isso garantirá que as referências sejam atualizadas ao excluir linhas em branco. O código de exemplo a seguir mostra como usar a propriedade DeleteOptions.UpdateReference.
// Abra um arquivo excel existente.
Workbook wb = new Workbook("SampleInput.xlsx");
// Obtenha a coleção de planilhas na planilha.
WorksheetCollection sheets = wb.Worksheets;
// Obtenha a primeira planilha de WorksheetCollection por índice.
Worksheet sheet = sheets[0];
// Esta opção garantirá as referências (em fórmulas, gráficos)
// são atualizados ao excluir linhas em branco.
DeleteOptions options = new DeleteOptions();
options.UpdateReference = true;
// Exclua as linhas em branco da planilha.
sheet.Cells.DeleteBlankRows(options);
// Salve o arquivo excel.
wb.Save("SampleOutput.xlsx");
Conforme mostrado na imagem a seguir, a fórmula foi atualizada e a célula B2 contém um valor válido.
Excluir colunas em branco no Excel usando C
As etapas para excluir colunas em branco são as mesmas para excluir linhas em branco. Usamos o método Cells.DeleteBlankColumns para excluir todas as colunas em branco que não contêm nenhum dado. O código de exemplo a seguir mostra como excluir linhas e colunas em branco em C#.
// Abra um arquivo excel existente.
Workbook wb = new Workbook("SampleInput.xlsx");
// Obtenha a coleção de planilhas na planilha.
WorksheetCollection sheets = wb.Worksheets;
// Obtenha a primeira planilha de WorksheetCollection por índice.
Worksheet sheet = sheets[0];
// Esta opção garantirá as referências (em fórmulas, gráficos)
// são atualizados ao excluir linhas e colunas em branco.
DeleteOptions options = new DeleteOptions();
options.UpdateReference = true;
// Exclua as linhas e colunas em branco.
sheet.Cells.DeleteBlankRows(options);
sheet.Cells.DeleteBlankColumns(options);
// Calcular fórmulas da pasta de trabalho
wb.CalculateFormula();
// Salve o arquivo excel.
wb.Save("SampleOutput.xlsx");
Conclusão
Neste artigo, você aprendeu como excluir linhas e colunas em branco no arquivo do Excel usando C#. Além disso, você aprendeu como atualizar referências (usadas em fórmulas, gráficos e tabelas) automaticamente ao excluir linhas e colunas em branco. Por favor, verifique a documentação do Aspose.Cells para .NET para mais informações. Se você tiver alguma dúvida, sinta-se à vontade para publicá-la em nosso Fórum de Suporte. Vamos respondê-los em algumas horas.