SharedStringTable クラス

定義

共有文字列テーブルです。 SharedStringTablePart のルート要素です。 オブジェクトを xml としてシリアル化されるときに、修飾名は、x: sst です。

[DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.SharedStringItem))]
[DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.ExtensionList))]
public class SharedStringTable : DocumentFormat.OpenXml.OpenXmlPartRootElement
type SharedStringTable = class
    inherit OpenXmlPartRootElement
Public Class SharedStringTable
Inherits OpenXmlPartRootElement
継承
属性

コード例を次に示します新しいスプレッドシート ドキュメントを作成し、セル"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.  
Imports System.Linq  
Imports DocumentFormat.OpenXml  
Imports DocumentFormat.OpenXml.Packaging  
Imports DocumentFormat.OpenXml.Spreadsheet  

Module Module1  
    Sub Main(ByVal args As String())  
        Dim fileName As String = "C:\Users\Public\Documents\SharedStringTableEx.xlsx"  

        ' Create a spreadsheet document.  
        Dim spreadsheetDocument As SpreadsheetDocument = spreadsheetDocument.Create(fileName, SpreadsheetDocumentType.Workbook)  

        ' Add a WorkbookPart to the document.  
        Dim workbookpart As WorkbookPart = spreadsheetDocument.AddWorkbookPart()  
        workbookpart.Workbook = New Workbook()  

        ' Add a WorksheetPart to the WorkbookPart.  
        Dim worksheetPart As WorksheetPart = workbookpart.AddNewPart(Of WorksheetPart)()  
        worksheetPart.Worksheet = New Worksheet(New SheetData())  

        ' Add Sheets to the Workbook.  
        Dim sheets As Sheets = spreadsheetDocument.WorkbookPart.Workbook.AppendChild(Of Sheets)(New Sheets())  

        ' Append a new worksheet and associate it with the workbook.  
        Dim sheet As New Sheet() With { _  
         .Id = spreadsheetDocument.WorkbookPart.GetIdOfPart(worksheetPart), _  
         .SheetId = 1, _  
         .Name = "mySheet" _  
        }  
        sheets.Append(sheet)  

        Dim worksheet As New Worksheet()  
        Dim sheetData As New SheetData()  

        Dim row As New Row() With { _  
         .RowIndex = 2UI, _  
         .Spans = New ListValue(Of StringValue)() With { _  
          .InnerText = "2:2" _  
         } _  
        }  
        Dim cell As New Cell() With { _  
         .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." & vbLf & "Press a key.")  
        Console.ReadKey()  
    End Sub  

    Public Sub InsertHyperLink(ByVal fileName As String, ByVal uri As String, ByVal cellAddress As String)  
        ' Open the document for editing.  
        Using spreadsheetDocument As SpreadsheetDocument = spreadsheetDocument.Open(fileName, True)  
            ' Get the first sheet in the workbook.  
            Dim sheet1 As Sheet = spreadsheetDocument.WorkbookPart.Workbook.Descendants(Of Sheet)().First()  
            Dim worksheetPart As WorksheetPart = DirectCast(spreadsheetDocument.WorkbookPart.GetPartById(sheet1.Id), WorksheetPart)  

            ' Create a hyperlink relationship.  
            Dim hyperlinkRelationship As HyperlinkRelationship = worksheetPart.AddHyperlinkRelationship(New System.Uri(uri, System.UriKind.Absolute), True)  

            ' Add a new shared string table part.  
            Dim sharedStringTablePart1 As SharedStringTablePart  
            If spreadsheetDocument.WorkbookPart.GetPartsCountOfType(Of SharedStringTablePart)() > 0 Then  
                sharedStringTablePart1 = spreadsheetDocument.WorkbookPart.GetPartsOfType(Of SharedStringTablePart)().First()  
            Else  
                sharedStringTablePart1 = spreadsheetDocument.WorkbookPart.AddNewPart(Of SharedStringTablePart)()  
            End If  

            ' Add a new shared string table.  
            Dim sharedStringTable1 As New SharedStringTable() With { _  
              .Count = CType(1UI, UInt32Value), _  
              .UniqueCount = CType(1UI, UInt32Value) _  
            }  
            sharedStringTablePart1.SharedStringTable = sharedStringTable1  

            ' Create the hyperlink object.  
            Dim hyperlinks1 As New Hyperlinks()  
            Dim hyperlink1 As New Hyperlink() With { _  
             .Reference = cellAddress, _  
             .Id = hyperlinkRelationship.Id _  
            }  

            ' Append the hyperlink to the collection.   
            hyperlinks1.Append(hyperlink1)  

            ' Append the hyperlink to the worksheet.  
            worksheetPart.Worksheet.Append(hyperlinks1)  
        End Using  
    End Sub  
End Module  
' Output:  
' The hyperlink has been inserted.  
' Press a key.  

注釈

[ISO/IEC 29500-1 1st Edition]

sst (共有文字列テーブル)

この要素は、共有文字列テーブルの個々 の文字列の項目 (si) のコレクションとして機能するルートです。

親要素
SpreadsheetML 共有文字列テーブルの一部のルート要素
子要素
extLst (将来機能のデータの記憶領域) §18.2.10
si (文字列の項目) §18.4.8
属性 説明
数 (文字列の数) ブック内の文字列の合計数を表す整数。 この数は任意の数字を含まない、ブック内の文字列の合計のみをカウントします。

UniqueCountを使用すると、必要な場合に限り、この属性はオプションです。

この属性に指定できる値は、W3C XML スキーマの unsignedInt データ型で定義されます。
uniqueCount (一意の文字列の数) 共有ストリング テーブル内の一意の文字列の合計数を表す整数。 文字列は、場合でも、別の文字列のコピーですが、文字レベルで異なる書式を適用には一意です。

[例。

世界、世界、およびW指定します。

カウントが 3 になるし、 uniqueCountは 2 になります。 セル レベルで適用された書式が異なるだけで、同じ文字列であるため、テーブルには「世界」のエントリを 1 つだけが表示 (セルに、文字列全体に適用されるなど)。 "W指定"文字列取得別の一意のエントリ、共有文字列テーブルで異なる特定の文字に適用する書式があるためです。

最後の例

カウントを使用すると、必要な場合に限り、この属性はオプションです。

この属性に指定できる値は、W3C XML スキーマの unsignedInt データ型で定義されます。

[: この要素のコンテンツ モデル (CT_Sst) の W3C XML スキーマ定義は §A.2 であります。 メモの終了)

ISO/IEC29500: 2008。

コンストラクター

SharedStringTable()

SharedStringTable クラスの新しいインスタンスを初期化します。

SharedStringTable(IEnumerable<OpenXmlElement>)

指定した子要素を持つ SharedStringTable クラスの新しいインスタンスを初期化します。

SharedStringTable(OpenXmlElement[])

指定した子要素を持つ SharedStringTable クラスの新しいインスタンスを初期化します。

SharedStringTable(String)

外側の XML から SharedStringTable クラスの新しいインスタンスを初期化します。

プロパティ

ChildElements

現在の要素のすべての子ノードを取得します。

(継承元 OpenXmlElement)
Count

Count.Represents は、次のスキーマの属性の文字列: カウント

ExtendedAttributes

現在の要素のすべての拡張属性 (スキーマで定義されていない属性) を取得します。

(継承元 OpenXmlElement)
FirstChild

現在の OpenXmlElement 要素の最初の子を取得します。

(継承元 OpenXmlCompositeElement)
HasAttributes

現在の要素に属性が含されているかどうかを示すブール値を取得します。

(継承元 OpenXmlElement)
HasChildren

現在の要素に子要素が含されているかどうかを示す値を取得します。

(継承元 OpenXmlCompositeElement)
InnerText

現在のノードとそのすべての子の連結値を取得または設定します。

(継承元 OpenXmlCompositeElement)
InnerXml

現在のノードの子ノードのみを表すマークアップを取得または設定します。

(継承元 OpenXmlCompositeElement)
LastChild

現在の OpenXmlElement 要素の最後の子を取得します。 このような OpenXmlElement 要素がないVisual Basic null (Nothing in Visual Basic) を返します。

(継承元 OpenXmlCompositeElement)
LocalName

要素のローカル名を取得します。

MCAttributes

マークアップの互換性属性を設定します。 現在の要素に対してマークアップ互換性属性が定義されていない場合は null を返します。

(継承元 OpenXmlElement)
NamespaceDeclarations

現在の要素で定義されている名前空間宣言を取得します。 名前空間宣言がない場合は、空の列挙子を返します。

(継承元 OpenXmlElement)
NamespaceUri

現在の要素の名前空間 URI を取得します。

(継承元 OpenXmlElement)
OpenXmlElementContext

現在の要素の OpenXmlEementContext を取得します。

(継承元 OpenXmlElement)
OuterXml

現在の要素とそのすべての子要素を表すマークアップを取得します。

(継承元 OpenXmlElement)
Parent

現在の要素の親要素を取得します。

(継承元 OpenXmlElement)
Prefix

現在の要素の名前空間プレフィックスを取得します。

(継承元 OpenXmlElement)
SharedStringTablePart

この要素に関連付けられている SharedStringTablePart を取得します。

UniqueCount

次の属性がスキーマに一意の文字列 Count.Represents: uniqueCount

XmlQualifiedName

現在の要素の修飾名を取得します。

(継承元 OpenXmlElement)
XName

現在の要素の修飾名を取得します。

(継承元 OpenXmlElement)

メソッド

AddAnnotation(Object)

現在の OpenXmlElement 要素の注釈の一覧にオブジェクトを追加します。

(継承元 OpenXmlElement)
AddNamespaceDeclaration(String, String)

現在のノードに namepace 宣言を追加します。

(継承元 OpenXmlElement)
Ancestors()

現在の要素のすべての先祖を列挙します。

(継承元 OpenXmlElement)
Ancestors<T>()

指定した型を持つ現在の要素の先祖のみを列挙します。

(継承元 OpenXmlElement)
Annotation(Type)

現在の OpenXmlElement 要素から、指定した型の最初の注釈オブジェクトを取得します。

(継承元 OpenXmlElement)
Annotation<T>()

現在の OpenXmlElement 要素から、指定した型の最初の注釈オブジェクトを取得します。

(継承元 OpenXmlElement)
Annotations(Type)

現在の OpenXmlElement 要素の指定した型を持つ注釈のコレクションを取得します。

(継承元 OpenXmlElement)
Annotations<T>()

現在の OpenXmlElement 要素の指定した型を持つ注釈のコレクションを取得します。

(継承元 OpenXmlElement)
Append(IEnumerable<OpenXmlElement>)

要素のリストから、現在の要素の子要素のリストの末尾に各要素を追加します。

(継承元 OpenXmlElement)
Append(OpenXmlElement[])

要素の配列から、現在の要素の子要素のリストの末尾に各要素を追加します。

(継承元 OpenXmlElement)
AppendChild<T>(T)

指定した要素を、現在の要素の子ノードのリストの末尾に追加します。

(継承元 OpenXmlCompositeElement)
ClearAllAttributes()

既知の属性と拡張属性の両方を含む、すべての属性をクリアします。

(継承元 OpenXmlElement)
Clone()

現在のノードの複製を作成します。

(継承元 OpenXmlElement)
CloneNode(Boolean)

このノードの複製を作成します。

Descendants()

現在の要素のすべての子孫を列挙します。

(継承元 OpenXmlElement)
Descendants<T>()

現在の要素の T 型のすべての子孫を列挙します。

(継承元 OpenXmlElement)
Elements()

現在の要素のすべての子を列挙します。

(継承元 OpenXmlElement)
Elements<T>()

指定した型を持つ現在の要素の子のみを列挙します。

(継承元 OpenXmlElement)
ElementsAfter()

現在の要素に従い、現在の要素と同じ親を持つすべての兄弟要素を列挙します。

(継承元 OpenXmlElement)
ElementsBefore()

現在の要素の前に、現在の要素と同じ親を持つすべての兄弟要素を列挙します。

(継承元 OpenXmlElement)
GetAttribute(String, String)

指定したタグ名と名前空間 URI を持つ Open XML 属性を取得します。

(継承元 OpenXmlElement)
GetAttributes()

すべての属性のコピーを含むリストを取得します。

(継承元 OpenXmlElement)
GetEnumerator()

子コレクションを反復処理する列挙子を返します。

(継承元 OpenXmlElement)
GetFirstChild<T>()

型 T の最初の子要素を検索します。

(継承元 OpenXmlElement)
InsertAfter<T>(T, OpenXmlElement)

指定した参照要素の直後に、指定した要素を挿入します。

(継承元 OpenXmlCompositeElement)
InsertAfterSelf<T>(T)

現在の要素の直後に指定した要素を挿入します。

(継承元 OpenXmlElement)
InsertAt<T>(T, Int32)

現在の要素の子の指定したインデックスに、指定した要素を挿入します。

(継承元 OpenXmlCompositeElement)
InsertBefore<T>(T, OpenXmlElement)

指定した参照要素の直前に、指定した要素を挿入します。

(継承元 OpenXmlCompositeElement)
InsertBeforeSelf<T>(T)

現在の要素の直前に指定した要素を挿入します。

(継承元 OpenXmlElement)
IsAfter(OpenXmlElement)

ドキュメントの順序で指定した要素の後に現在の要素が表示されるかどうかを指定します。

(継承元 OpenXmlElement)
IsBefore(OpenXmlElement)

現在の要素が文書の順序で指定された要素の前に表示されるかどうかを指定します。

(継承元 OpenXmlElement)
Load(SharedStringTablePart)

DOM を SharedStringTablePart から読み込まれます。

LookupNamespace(String)

現在のノードのコンテキストで名前空間プレフィックスを解決します。

(継承元 OpenXmlElement)
LookupPrefix(String)

現在の要素スコープ内の名前空間 uri の対応するプレフィックスを検索します。

(継承元 OpenXmlElement)
NextSibling()

現在の OpenXmlElement 要素の直後にある OpenXmlElement 要素を取得します。 次の OpenXmlElement 要素がないVisual Basic null (Nothing in Visual Basic) を返します。

(継承元 OpenXmlElement)
NextSibling<T>()

現在の OpenXmlElement 要素に続く、指定した型を持つ OpenXmlElement 要素を取得します。 次の OpenXmlElement がないVisual Basic null (Nothing in Visual Basic) を返します。

(継承元 OpenXmlElement)
PrependChild<T>(T)

現在の要素の子ノードのリストの先頭に指定した要素を挿入します。

(継承元 OpenXmlCompositeElement)
PreviousSibling()

現在の OpenXmlElement 要素の直前にある OpenXmlElement 要素を取得します。 前の OpenXmlElement 要素がないVisual Basic null ( Nothing in Visual Basic ) を返します。

(継承元 OpenXmlElement)
PreviousSibling<T>()

現在の OpenXmlElement の前に指定された型を持つ OpenXmlElement 要素を取得します。 前の OpenXmlElement 要素がない場合は、null (Visual Basic 内の Nothing) を返します。

(継承元 OpenXmlElement)
Reload()

パーツのコンテンツを Open XML DOM ツリーに再読み込みします。 このメソッドは複数回呼び出され、呼び出されるごとにツリーが再読み込みされ、ツリー上の以前の変更は破棄されます。

(継承元 OpenXmlPartRootElement)
Remove()

現在の要素を親から削除します。

(継承元 OpenXmlElement)
RemoveAllChildren()

現在の要素のすべての子要素を削除します。

(継承元 OpenXmlCompositeElement)
RemoveAllChildren<T>()

T 型の現在の要素のすべての子要素を削除します。

(継承元 OpenXmlElement)
RemoveAnnotations(Type)

現在の OpenXmlElement 要素から、指定した型の注釈を削除します。

(継承元 OpenXmlElement)
RemoveAnnotations<T>()

現在の OpenXmlElement 要素から、指定した型の注釈を削除します。

(継承元 OpenXmlElement)
RemoveAttribute(String, String)

現在の要素から属性を削除します。

(継承元 OpenXmlElement)
RemoveChild<T>(T)

指定した子要素を削除します。

(継承元 OpenXmlCompositeElement)
RemoveNamespaceDeclaration(String)

指定したプレフィックスの名前空間宣言を削除します。 プレフィックスがない場合は何も削除しません。

(継承元 OpenXmlElement)
ReplaceChild<T>(OpenXmlElement, T)

現在の要素の子要素の 1 つを別の OpenXmlElement 要素に置き換える。

(継承元 OpenXmlCompositeElement)
Save()

DOM ツリーのデータをパーツに保存します。 このメソッドは複数回呼び出され、呼び出されるごとにストリームがフラッシュされます。

(継承元 OpenXmlPartRootElement)
Save(SharedStringTablePart)

DOM を SharedStringTablePart に保存します。

Save(Stream)

DOM ツリーを指定したストリームに保存します。

(継承元 OpenXmlPartRootElement)
SetAttribute(OpenXmlAttribute)

属性を指定した要素に設定します。 属性が既知の属性の場合、属性の値が設定されます。 属性が拡張属性の場合、'openxmlAttribute' が拡張属性リストに追加されます。

(継承元 OpenXmlElement)
SetAttributes(IEnumerable<OpenXmlAttribute>)

要素に対して多数の属性を設定します。 属性が既知の属性の場合、属性の値が設定されます。 属性が拡張属性の場合、'openxmlAttribute' が拡張属性リストに追加されます。

(継承元 OpenXmlElement)
WriteTo(XmlWriter)

現在のノードを指定した XmlWriter に保存します。

(継承元 OpenXmlPartRootElement)

明示的なインターフェイスの実装

IEnumerable.GetEnumerator() (継承元 OpenXmlElement)

適用対象