Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais

SharedStringTable - Classe

Office 2013 et versions ultérieures

Cette documentation est préliminaire et peut changer.

Table de chaînes partagée. L'élément racine de SharedStringTablePart. Lorsque l'objet est sérialisé en XML, son nom qualifié est x: sst.

Espace de noms :  DocumentFormat.OpenXml.Spreadsheet
Assembly :  DocumentFormat.OpenXml (dans DocumentFormat.OpenXml.dll)

[ChildElementInfoAttribute(typeof(SharedStringItem))]
[ChildElementInfoAttribute(typeof(ExtensionList))]
public class SharedStringTable : OpenXmlPartRootElement

[ISO/IEC 29500-1 1st Edition]

SST (Table de chaînes partagée)

Cet élément est la racine de la Table de chaînes partagée, qui sert à une collection d'éléments de chaîne individuels (si).

Éléments parents

Élément racine de la partie de la Table de chaînes SpreadsheetML partagés

Élements enfants

Sous-clause

extLst (futur fonctionnalité de zone de stockage)

§18.2.10

Si (élément de chaîne)

§18.4.8

Attributs

Description

Count (nombre de chaîne)

Entier représentant le nombre total de chaînes dans le classeur. Ce nombre n'inclut pas tous les numéros, il compte uniquement le total des chaînes de texte dans le classeur.

Cet attribut est facultatif, sauf si uniqueCount est utilisé, auquel cas il est requis.

Les valeurs possibles de cet attribut sont définies par le type de données unsignedInt du schéma XML du W3C.

uniqueCount (nombre de chaîne Unique)

Entier représentant le nombre total de chaînes uniques dans la Table de chaînes partagée. Une chaîne est unique, même s'il s'agit d'une copie d'une autre chaîne, mais a autre mise en forme appliquée au niveau du caractère.

EXEMPLE

World, World, et World.

Le nombre sera de 3, et uniqueCount serait 2. Une seule entrée pour « Monde » afficherait dans la table car elle est la même chaîne, juste avec mise en forme différente est appliqué au niveau de la cellule (par exemple, appliqué à la totalité de la chaîne dans la cellule). Le «World "chaîne obtenez une entrée unique distincte dans la table de chaînes partagée, car il a mise en forme différente est appliquée à des caractères spécifiques.

exemple de fin]

Cet attribut est facultatif, sauf si le nombre est utilisé, auquel cas il est requis.

Les valeurs possibles de cet attribut sont définies par le type de données unsignedInt du schéma XML du W3C.

[Remarque: le W3C XML Schema definition de cet élément modèle de contenu (CT_Sst) se trouve dans §A.2. fin de la Remarque]

© ISO/IEC29500: 2008.

L'exemple de code suivant crée un nouveau document de feuille de calcul et insère un lien hypertexte dans la cellule « A2 ».

using System;
using System.Linq;
using DocumentFormat.OpenXml;
using DocumentFormat.OpenXml.Packaging;
using DocumentFormat.OpenXml.Spreadsheet;

namespace SharedStringTableEx
{
    class Program
    {
        static void Main(string[] args)
        {
            string fileName = @"C:\Users\Public\Documents\SharedStringTableEx.xlsx";

            // Create a spreadsheet document.
            SpreadsheetDocument spreadsheetDocument = SpreadsheetDocument.
                Create(fileName, 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 =
                spreadsheetDocument.WorkbookPart.Workbook.AppendChild<Sheets>(new Sheets());

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

            Worksheet worksheet = new Worksheet();
            SheetData sheetData = new SheetData();

            Row row =
                new Row()
                { RowIndex = 2U,
                  Spans = new ListValue<StringValue>() { InnerText = "2:2" }
                };
            Cell cell =
                new Cell()
                { CellReference = "A2",
                  DataType = CellValues.String,
                  CellValue = new CellValue("Microsoft")
                };
            row.Append(cell);
            sheetData.Append(row);
            worksheet.Append(sheetData);
            worksheetPart.Worksheet = worksheet;

            workbookpart.Workbook.Save();

            // Close the document.
            spreadsheetDocument.Close();
            InsertHyperLink(fileName, "http://www.microsoft.com", "A2");

            Console.WriteLine("The hyperlink has been inserted.\nPress a key.");
            Console.ReadKey();
        }

        static public void InsertHyperLink(string fileName, string uri, string cellAddress)
        {
            // Open the document for editing.
            using (SpreadsheetDocument spreadsheetDocument =
                SpreadsheetDocument.Open(fileName, true))
            {
                // Get the first sheet in the workbook.
                Sheet sheet1 = spreadsheetDocument.WorkbookPart.Workbook.
                    Descendants<Sheet>().First();
                WorksheetPart worksheetPart = (WorksheetPart)spreadsheetDocument.
                    WorkbookPart.GetPartById(sheet1.Id);

                // Create a hyperlink relationship.
                HyperlinkRelationship hyperlinkRelationship =
                    worksheetPart.AddHyperlinkRelationship(new System.Uri
                    (uri, System.UriKind.Absolute), true);

                // Add a new shared string table part.
                SharedStringTablePart sharedStringTablePart1;
                if (spreadsheetDocument.WorkbookPart.GetPartsCountOfType
                    <SharedStringTablePart>() > 0)
                {
                    sharedStringTablePart1 =
                        spreadsheetDocument.WorkbookPart.GetPartsOfType
                        <SharedStringTablePart>().First();
                }
                else
                {
                    sharedStringTablePart1 =
                        spreadsheetDocument.WorkbookPart.AddNewPart
                        <SharedStringTablePart>();
                }

                // Add a new shared string table.
                SharedStringTable sharedStringTable1 =
                    new SharedStringTable() { Count = (UInt32Value)1U, UniqueCount =
                        (UInt32Value)1U };
                sharedStringTablePart1.SharedStringTable = sharedStringTable1;

                // Create the hyperlink object.
                Hyperlinks hyperlinks1 = new Hyperlinks();
                Hyperlink hyperlink1 =
                    new Hyperlink() { Reference = cellAddress, Id = 
                        hyperlinkRelationship.Id };

                // Append the hyperlink to the collection. 
                hyperlinks1.Append(hyperlink1);

                // Append the hyperlink to the worksheet.
                worksheetPart.Worksheet.Append(hyperlinks1);
            }
        }
    }
}
// Output:
// The hyperlink has been inserted.
// Press a key.

Tous les membres statique (Partagé dans Visual Basic)s publics de ce type sont thread-safe. Cela n’est pas garanti pour les membres d’instance.
Afficher: