Compartilhar via


Estrutura de um documento SpreadsheetML

A estrutura do documento de um documento SpreadsheetML consiste no < elemento da pasta> de trabalho que contém <planilhas> e < elementos de planilha> que fazem referência às planilhas na pasta de trabalho. Um arquivo XML separado é criado para cada planilha. Esses elementos são os elementos mínimos necessários para um documento de planilha válido. Além disso, um documento de planilha pode conter <tabela>, <planilha>, <tabela dinâmicaTableDefinition> ou outros elementos relacionados à planilha.

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.


Partes importantes da planilha

Usando o SDK do Open XML para Office, você pode criar estrutura de documentos e conteúdo que usa classes fortemente tipdas que correspondem a elementos De planilha . Você pode encontrar essas classes no namespace DocumentFormat.OpenXML.Spreadsheet. A tabela a seguir lista os nomes de classe das classes que correspondem a alguns dos elementos importantes da planilha.

Parte do pacote Elemento SpreadsheetML de nível superior Classe SDK Open XML Descrição
Pasta de Trabalho pasta de trabalho Pasta de trabalho O elemento raiz para a parte do documento principal.
Worksheet planilha Planilha Um tipo de planilha que representa uma grade de células que contém texto, números, datas ou fórmulas. Para obter mais informações, consulte Trabalhar com planilhas.
Planilha de Gráficos Chartsheet Chartsheet Uma planilha que representa um gráfico armazenado como sua própria planilha. Para obter mais informações, consulte Trabalhar com planilhas.
Table table Table Um constructo lógico que especifica que um intervalo de dados pertence a um único conjunto de dados. Para obter mais informações, consulte Trabalhando com tabelas de PlanilhaML.
Tabela Dinâmica pivotTableDefinition PivotTableDefinition Um constructo lógico que exibe a exibição agregada de dados em um layout compreensível. Para obter mais informações, consulte Trabalhando com Tabelas Dinâmicas.
Cache Dinâmico pivotCacheDefinition PivotCacheDefinition Um build que define a origem dos dados na Tabela Dinâmica. Para obter mais informações, consulte Trabalhando com Tabelas Dinâmicas.
Registros de cache dinâmico pivotCacheRecords PivotCacheRecords Um cache dos dados de origem da Tabela Dinâmica. Para obter mais informações, consulte Trabalhando com Tabelas Dinâmicas.
Cadeia de Cálculo calcChain CalculationChain Um constructo que especifica a ordem em que as células na pasta de trabalho foram calculadas pela última vez. Para obter mais informações, consulte Trabalhar com a cadeia de cálculo.
Tabela de cadeia de caracteres compartilhada sst SharedStringTable Um build que contém uma ocorrência de cada cadeia de caracteres exclusiva que ocorre em todas as planilhas de uma pasta de trabalho. Para obter mais informações, consulte Trabalhar com a tabela de cadeia de caracteres compartilhada.
Formatação condicional condicionalFormatting CondicionalFormatting Um build que define um formato aplicado a uma célula ou série de células. Para obter mais informações, consulte Trabalhar com formatação condicional.
Fórmulas f CellFormula Um build que define o texto da fórmula para uma célula que contém uma fórmula. Para obter mais informações, consulte Trabalhar com fórmulas.

Cenário mínimo de pasta de trabalho

O texto a seguir do Standard ECMA-376 apresenta o cenário mínimo da pasta de trabalho.

A menor pasta de trabalho possível (em branco) deve conter o seguinte:

Uma única planilha

Uma ID de planilha

Uma ID de relacionamento que aponta para o local da definição da planilha

© Ecma International: December 2006.

Abrir o exemplo de código do SDK XML

Este exemplo de código usa as classes no SDK Open XML para criar uma pasta de trabalho mínima em branco.

using DocumentFormat.OpenXml;
using DocumentFormat.OpenXml.Packaging;
using DocumentFormat.OpenXml.Spreadsheet;

CreateSpreadsheetWorkbook(args[0]);

static void CreateSpreadsheetWorkbook(string filepath)
{
    // Create a spreadsheet document by supplying the filepath.
    // By default, AutoSave = true, Editable = true, and Type = xlsx.
    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);

    workbookPart.Workbook.Save();

    // Dispose the document.
    spreadsheetDocument.Dispose();
}

Cenário típico da pasta de trabalho

Uma pasta de trabalho típica não será uma pasta de trabalho mínima e em branco. Uma pasta de trabalho típica pode conter números, texto, gráficos, tabelas e tabelas dinâmicas. Cada uma dessas partes adicionais está contida no pacote .zip do documento de planilha.

A figura a seguir mostra a maioria dos elementos que você encontraria em uma planilha típica.

Figura 2. Elementos típicos da planilha

Estrutura de um documento SpreadsheetML