Os formatos de arquivo de planilha mais comuns e amplamente usados são XLS, XLSX e ODS. Os famosos Microsoft Excel e OpenOffice Calc suportam esses formatos e normalmente utilizamos esses formatos para manutenção de contas e diferentes planilhas. Portanto, como desenvolvedor, precisamos editar arquivos do Excel em nossos aplicativos programaticamente. Neste artigo, discutiremos como editar arquivos do Excel em C# usando a API .NET.

A seguir estão os tópicos discutidos brevemente neste artigo:

.NET API para edição e automação de planilhas do Excel

O GroupDocs apresenta a API .NET para edição de planilhas. Vou usá-lo nos exemplos C# deste artigo. É a API de edição de documentos e permite que os desenvolvedores carreguem, editem e salvem vários formatos de documentos usando editores HTML WYSIWYG. Além dos formatos de planilha XLS, XLSX e ODS, a API suporta a edição de vários outros formatos compatíveis com planilhas e MS Excel como CSV, TSV, DSV, XLT, XLTX, XLTM, XLSM, XLSB, XLAM, SXC, SpreadsheetML, FODS, DIF.

Baixe o instalador de DLLs ou MSI na seção de downloads ou instale a API em seu aplicativo .NET via [NuGet](https ://www.nuget.org/packages/groupdocs.editor).

PM> Install-Package GroupDocs.Editor

Editar arquivos do Excel em C#

Espero que você tenha referenciado com sucesso a API. Agora você pode começar a editar rapidamente seus documentos do Excel. As etapas a seguir permitirão que você edite os documentos da planilha usando C#.

  • Carregar o arquivo Excel.
  • Edite de acordo com as opções.
  • Salve o documento editado.

Carregar a planilha do Excel

Em primeiro lugar, carregue a planilha fornecendo o caminho/fluxo do documento e a senha (se o documento estiver protegido por senha).

// Carregar o arquivo do Excel usando C#
Options.SpreadsheetLoadOptions loadOptions = new SpreadsheetLoadOptions();
loadOptions.Password = "password"; // if any

// Carregar a planilha
Editor editor = new Editor("path/spreadsheet.xlsx", delegate { return loadOptions; });

Edite o arquivo Excel

Após o carregamento, você pode editar a planilha carregada conforme necessário. Agora vamos substituir todas as ocorrências de “Nome antigo da empresa” por “Novo nome da empresa” na primeira aba da planilha. As etapas a seguir permitem que você edite o arquivo do Excel adequadamente em C#.

O código-fonte C# a seguir edita o arquivo do Excel e altera seu conteúdo.

// Edite a planilha do Excel usando C#

Options.SpreadsheetLoadOptions loadOptions = new SpreadsheetLoadOptions();
// loadOptions.Password = "senha";

// Carregar a planilha
Editor editor = new Editor("path/spreadsheet.xlsx", delegate { return loadOptions; });

// Obtenha a 1ª guia da Planilha
SpreadsheetEditOptions sheetTab1EditOptions = new SpreadsheetEditOptions();
sheetTab1EditOptions.WorksheetIndex = 0; // first worksheet

// Obter marcação HTML de alguma instância EditableDocument
EditableDocument firstTab = editor.Edit(sheetTab1EditOptions);
string bodyContent = firstTab.GetBodyContent(); // HTML markup from inside the HTML -> BODY element
string allContent = firstTab.GetContent();      // Full HTML markup of all document, with HTML -> HEAD header and all its content

List<IImageResource> onlyImages = firstTab.Images;
List<IHtmlResource> allResourcesTogether = firstTab.AllResources;

string editedContent = allContent.Replace("Company Name", "New Company Name");
EditableDocument afterEdit = EditableDocument.FromMarkup(editedContent, allResourcesTogether);

Salve o arquivo editado do Excel com opções

Após a edição, enquanto salva o conteúdo da planilha editada, você pode definir várias opções. Essas opções incluem; configuração de senha, formato de saída, proteção, etc. Estou configurando as opções acima no código abaixo mencionado e salvando a planilha editada como um arquivo XLSX protegido por senha e protegido contra gravação.

// Salve o arquivo do Excel com o conteúdo atualizado usando C#
// Criar opções de salvamento
SpreadsheetFormats xlsxFormat = SpreadsheetFormats.Xlsx;
Options.SpreadsheetSaveOptions saveOptions = new SpreadsheetSaveOptions(SpreadsheetFormats.Xlsx);

// Definir nova senha de abertura
saveOptions.Password = "newPassword";
saveOptions.WorksheetProtection = new WorksheetProtection(WorksheetProtectionType.All, "WriteProtectionPassword");

// Criar fluxo de saída
using (FileStream outputStream = File.Create("path/editedSpreadsheet.xlsx"))
{
    editor.Save(afterEdit, outputStream, saveOptions);
}

Obtenha uma licença gratuita

Você pode obter uma licença temporária gratuita para usar a API sem as limitações de avaliação.

Conclusão

Para concluir, discutimos como editar documentos do Excel em C# usando a API de edição de documentos para aplicativos .NET. Você pode usar a API com os editores WYSIWYG para a edição visual de seus documentos. Depois disso, você pode seguir em frente para criar seu próprio editor de planilhas online.

Para mais detalhes, opções e exemplos, você pode visitar o repositório documentation e o GitHub . Para mais dúvidas, entre em contato com o suporte no fórum.

Artigos relacionados

Veja também