Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
A estrutura do documento de um SpreadsheetML documento consiste no elemento que contém <sheets/> e <sheet/> nos <workbook/> elementos 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 <table/>, <chartsheet/>, <pivotTableDefinition/>, 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 Open XML SDK for Office, você pode criar uma estrutura de documento e conteúdo que usa classes fortemente tipadas que correspondem a SpreadsheetML elementos. Você pode encontrar essas classes no DocumentFormat.OpenXML.Spreadsheet namespace. A tabela a seguir lista os nomes das classes que correspondem a alguns dos elementos importantes da planilha.
| Parte do Pacote | Elemento SpreadsheetML de nível superior | Classe Open XML SDK | Descrição |
|---|---|---|---|
| Pasta de Trabalho | <workbook/> |
Workbook | O elemento raiz para a parte do documento principal. |
| Planilha | <worksheet/> |
Worksheet | 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áfico | <chartsheet/> |
Chartsheet | Uma planilha que representa um gráfico armazenado como sua própria planilha. Para obter mais informações, consulte Trabalhar com planilhas. |
| 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, consulte Trabalhar com tabelas SpreadsheetML. |
| Tabela Dinâmica | <pivotTableDefinition/> |
PivotTableDefinition | Uma construção lógica 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 | Uma construção 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 | Uma construção que especifica a ordem na qual as células da pasta de trabalho foram calculadas pela última vez. Para obter mais informações, consulte Trabalhando com a cadeia de cálculo. |
| Tabela de cadeias de caracteres compartilhada | <sst/> |
SharedStringTable | Um constructo que contém uma ocorrência de cada cadeia de caracteres exclusiva que ocorre em todas as planilhas em uma pasta de trabalho. Para obter mais informações, consulte Trabalhando com a tabela de cadeia de caracteres compartilhada. |
| 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, consulte Trabalhando 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, consulte Trabalhando com fórmulas. |
Cenário de pasta de trabalho mínima
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 relação que aponta para o local da definição da planilha
© Ecma International: December 2006.
Exemplo de código do Open XML SDK
Este exemplo de código usa as classes no Open XML SDK para criar uma pasta de trabalho mínima 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 de pasta de trabalho
Uma pasta de trabalho típica não será uma pasta de trabalho mínima 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 da planilha.
A figura a seguir mostra a maioria dos elementos que você encontraria em uma planilha típica.
Figura 2. Elementos típicos de planilha