Compartilhar via


Estrutura de um documento SpreadsheetML

A estrutura do documento de um SpreadsheetML documento consiste no <workbook/> elemento que contém <sheets/> e <sheet/> os elementos que referenciam as folhas de cálculo no livro. Um arquivo XML separado é criado para cada planilha. Estes elementos são os elementos mínimos necessários para um documento de folha de cálculo válido. Além disso, um documento de folha de cálculo pode conter <table/>, <chartsheet/>, <pivotTableDefinition/>ou outros elementos relacionados com a folha de cálculo.

Observação

Interessado em desenvolver soluções que ampliem a experiência do Office em várias plataformas? Confira o novo modelo de Suplementos do Office. Os suplementos do Office ocupam um pequeno espaço em comparação com os suplementos e as soluções do VSTO, e você pode criá-los usando quase qualquer tecnologia de programação da Web, como o HTML5, JavaScript, CSS3 e XML.


Peças de Folha de Cálculo Importantes

Ao utilizar o SDK Open XML para o Office, pode criar uma estrutura de documentos e conteúdos que utilizem classes com tipos fortes que correspondem a SpreadsheetML elementos. Pode encontrar estas classes no DocumentFormat.OpenXML.Spreadsheet espaço de nomes. A tabela seguinte lista os nomes das classes que correspondem a alguns dos elementos importantes da folha de cálculo.

Peça de Pacote Elemento de Folha de Cálculo de Nível SuperiorML Abrir Classe SDK XML Descrição
Pasta de Trabalho <workbook/> Workbook O elemento raiz para a parte do documento principal.
Planilha <worksheet/> Worksheet Um tipo de folha que representa uma grelha de células que contém texto, números, datas ou fórmulas. Para obter mais informações, consulte Trabalhar com folhas.
Folha de Gráfico <chartsheet/> Chartsheet Uma folha que representa um gráfico que é armazenado como a sua própria folha. Para obter mais informações, consulte Trabalhar com folhas.
Tabela <table/> Table Uma construção lógica que especifica que um intervalo de dados pertence a um único conjunto de dados. Para obter mais informações, veja Trabalhar com tabelas de Folha de CálculoML.
Tabela Dinâmica <pivotTableDefinition/> PivotTableDefinition Uma construção lógica que apresenta a vista agregada dos dados num esquema compreensível. Para obter mais informações, consulte Trabalhar com Tabelas Dinâmicas.
Cache Dinâmica <pivotCacheDefinition/> PivotCacheDefinition Uma construção que define a origem dos dados na tabela dinâmica. Para obter mais informações, consulte Trabalhar com Tabelas Dinâmicas.
Registos da Cache Dinâmica <pivotCacheRecords/> PivotCacheRecords Uma cache dos dados de origem da tabela dinâmica. Para obter mais informações, consulte Trabalhar com Tabelas Dinâmicas.
Cadeia de Cálculo <calcChain/> CalculationChain Uma construção que especifica a ordem pela qual as células no livro foram calculadas pela última vez. Para obter mais informações, veja Trabalhar com a cadeia de cálculo.
Tabela de Cadeias Partilhadas <sst/> SharedStringTable Uma construção que contém uma ocorrência de cada cadeia exclusiva que ocorre em todas as folhas de cálculo num livro. Para obter mais informações, consulte Trabalhar com a tabela de cadeias partilhadas.
Formatação Condicional <conditionalFormatting/> ConditionalFormatting Uma construção que define um formato aplicado a uma célula ou série de células. Para obter mais informações, veja Trabalhar com formatação condicional.
Fórmulas <f/> CellFormula Uma construção que define o texto da fórmula para uma célula que contém uma fórmula. Para obter mais informações, veja Trabalhar com fórmulas.

Cenário mínimo do livro

O texto seguinte do Standard ECMA-376 introduz o cenário mínimo do livro.

O livro mais pequeno possível (em branco) tem de conter o seguinte:

Uma única folha

Um ID de folha

Um ID de relação que aponta para a localização da definição da folha

© Ecma International: December 2006.

Open XML SDK Code Example

Este exemplo de código utiliza as classes no SDK Open XML para criar um livro mínimo em branco.

static void CreateSpreadsheetWorkbook(string filepath)
{
    // Create a spreadsheet document by supplying the filepath.
    // By default, AutoSave = true, Editable = true, and Type = xlsx.
    using (SpreadsheetDocument spreadsheetDocument = SpreadsheetDocument.Create(filepath, SpreadsheetDocumentType.Workbook))
    {
        // Add a WorkbookPart to the document.
        WorkbookPart workbookPart = spreadsheetDocument.AddWorkbookPart();
        workbookPart.Workbook = new Workbook();

        // Add a WorksheetPart to the WorkbookPart.
        WorksheetPart worksheetPart = workbookPart.AddNewPart<WorksheetPart>();
        worksheetPart.Worksheet = new Worksheet(new SheetData());

        // Add Sheets to the Workbook.
        Sheets sheets = workbookPart.Workbook.AppendChild(new Sheets());

        // Append a new worksheet and associate it with the workbook.
        Sheet sheet = new Sheet() { Id = workbookPart.GetIdOfPart(worksheetPart), SheetId = 1, Name = "mySheet" };
        sheets.Append(sheet);
    }
}

Cenário Típico do Livro

Um livro típico não será um livro em branco, mínimo. Um livro típico pode conter números, texto, gráficos, tabelas e tabelas dinâmicas. Cada uma destas partes adicionais está contida no pacote .zip do documento da folha de cálculo.

A figura seguinte mostra a maioria dos elementos que encontraria numa folha de cálculo típica.

Figura 2. Elementos típicos da folha de cálculo

Estrutura de um documento SpreadsheetML