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