Table Class
Defines the Table Class.When the object is serialized out as xml, its qualified name is w:tbl.
Inheritance Hierarchy
System.Object
DocumentFormat.OpenXml.OpenXmlElement
DocumentFormat.OpenXml.OpenXmlCompositeElement
DocumentFormat.OpenXml.Wordprocessing.Table
Namespace: DocumentFormat.OpenXml.Wordprocessing
Assembly: DocumentFormat.OpenXml (in DocumentFormat.OpenXml.dll)
Syntax
'Декларация
<ChildElementInfoAttribute(GetType(CustomXmlConflictInsertionRangeStart), FileFormatVersions.Office2010)> _
<ChildElementInfoAttribute(GetType(BookmarkStart))> _
<ChildElementInfoAttribute(GetType(BookmarkEnd))> _
<ChildElementInfoAttribute(GetType(CommentRangeStart))> _
<ChildElementInfoAttribute(GetType(CommentRangeEnd))> _
<ChildElementInfoAttribute(GetType(MoveFromRangeStart))> _
<ChildElementInfoAttribute(GetType(MoveFromRangeEnd))> _
<ChildElementInfoAttribute(GetType(MoveToRangeStart))> _
<ChildElementInfoAttribute(GetType(MoveToRangeEnd))> _
<ChildElementInfoAttribute(GetType(CustomXmlInsRangeStart))> _
<ChildElementInfoAttribute(GetType(CustomXmlInsRangeEnd))> _
<ChildElementInfoAttribute(GetType(CustomXmlDelRangeStart))> _
<ChildElementInfoAttribute(GetType(CustomXmlDelRangeEnd))> _
<ChildElementInfoAttribute(GetType(CustomXmlMoveFromRangeStart))> _
<ChildElementInfoAttribute(GetType(CustomXmlMoveFromRangeEnd))> _
<ChildElementInfoAttribute(GetType(CustomXmlMoveToRangeStart))> _
<ChildElementInfoAttribute(GetType(CustomXmlMoveToRangeEnd))> _
<ChildElementInfoAttribute(GetType(ProofError))> _
<ChildElementInfoAttribute(GetType(RunConflictDeletion), FileFormatVersions.Office2010)> _
<ChildElementInfoAttribute(GetType(CustomXmlConflictDeletionRangeStart), FileFormatVersions.Office2010)> _
<ChildElementInfoAttribute(GetType(CustomXmlConflictDeletionRangeEnd), FileFormatVersions.Office2010)> _
<ChildElementInfoAttribute(GetType(TableProperties))> _
<ChildElementInfoAttribute(GetType(TableGrid))> _
<ChildElementInfoAttribute(GetType(TableRow))> _
<ChildElementInfoAttribute(GetType(CustomXmlRow))> _
<ChildElementInfoAttribute(GetType(SdtRow))> _
<ChildElementInfoAttribute(GetType(CustomXmlConflictInsertionRangeEnd), FileFormatVersions.Office2010)> _
<ChildElementInfoAttribute(GetType(PermStart))> _
<ChildElementInfoAttribute(GetType(PermEnd))> _
<ChildElementInfoAttribute(GetType(InsertedRun))> _
<ChildElementInfoAttribute(GetType(DeletedRun))> _
<ChildElementInfoAttribute(GetType(MoveFromRun))> _
<ChildElementInfoAttribute(GetType(MoveToRun))> _
<ChildElementInfoAttribute(GetType(ContentPart), FileFormatVersions.Office2010)> _
<ChildElementInfoAttribute(GetType(RunConflictInsertion), FileFormatVersions.Office2010)> _
Public Class Table _
Inherits OpenXmlCompositeElement
'Применение
Dim instance As Table
[ChildElementInfoAttribute(typeof(CustomXmlConflictInsertionRangeStart), FileFormatVersions.Office2010)]
[ChildElementInfoAttribute(typeof(BookmarkStart))]
[ChildElementInfoAttribute(typeof(BookmarkEnd))]
[ChildElementInfoAttribute(typeof(CommentRangeStart))]
[ChildElementInfoAttribute(typeof(CommentRangeEnd))]
[ChildElementInfoAttribute(typeof(MoveFromRangeStart))]
[ChildElementInfoAttribute(typeof(MoveFromRangeEnd))]
[ChildElementInfoAttribute(typeof(MoveToRangeStart))]
[ChildElementInfoAttribute(typeof(MoveToRangeEnd))]
[ChildElementInfoAttribute(typeof(CustomXmlInsRangeStart))]
[ChildElementInfoAttribute(typeof(CustomXmlInsRangeEnd))]
[ChildElementInfoAttribute(typeof(CustomXmlDelRangeStart))]
[ChildElementInfoAttribute(typeof(CustomXmlDelRangeEnd))]
[ChildElementInfoAttribute(typeof(CustomXmlMoveFromRangeStart))]
[ChildElementInfoAttribute(typeof(CustomXmlMoveFromRangeEnd))]
[ChildElementInfoAttribute(typeof(CustomXmlMoveToRangeStart))]
[ChildElementInfoAttribute(typeof(CustomXmlMoveToRangeEnd))]
[ChildElementInfoAttribute(typeof(ProofError))]
[ChildElementInfoAttribute(typeof(RunConflictDeletion), FileFormatVersions.Office2010)]
[ChildElementInfoAttribute(typeof(CustomXmlConflictDeletionRangeStart), FileFormatVersions.Office2010)]
[ChildElementInfoAttribute(typeof(CustomXmlConflictDeletionRangeEnd), FileFormatVersions.Office2010)]
[ChildElementInfoAttribute(typeof(TableProperties))]
[ChildElementInfoAttribute(typeof(TableGrid))]
[ChildElementInfoAttribute(typeof(TableRow))]
[ChildElementInfoAttribute(typeof(CustomXmlRow))]
[ChildElementInfoAttribute(typeof(SdtRow))]
[ChildElementInfoAttribute(typeof(CustomXmlConflictInsertionRangeEnd), FileFormatVersions.Office2010)]
[ChildElementInfoAttribute(typeof(PermStart))]
[ChildElementInfoAttribute(typeof(PermEnd))]
[ChildElementInfoAttribute(typeof(InsertedRun))]
[ChildElementInfoAttribute(typeof(DeletedRun))]
[ChildElementInfoAttribute(typeof(MoveFromRun))]
[ChildElementInfoAttribute(typeof(MoveToRun))]
[ChildElementInfoAttribute(typeof(ContentPart), FileFormatVersions.Office2010)]
[ChildElementInfoAttribute(typeof(RunConflictInsertion), FileFormatVersions.Office2010)]
public class Table : OpenXmlCompositeElement
Remarks
The following table lists the possible child types:
BookmarkStart <w:bookmarkStart>
BookmarkEnd <w:bookmarkEnd>
CommentRangeStart <w:commentRangeStart>
CommentRangeEnd <w:commentRangeEnd>
MoveFromRangeStart <w:moveFromRangeStart>
MoveFromRangeEnd <w:moveFromRangeEnd>
MoveToRangeStart <w:moveToRangeStart>
MoveToRangeEnd <w:moveToRangeEnd>
CustomXmlInsRangeStart <w:customXmlInsRangeStart>
CustomXmlInsRangeEnd <w:customXmlInsRangeEnd>
CustomXmlDelRangeStart <w:customXmlDelRangeStart>
CustomXmlDelRangeEnd <w:customXmlDelRangeEnd>
CustomXmlMoveFromRangeStart <w:customXmlMoveFromRangeStart>
CustomXmlMoveFromRangeEnd <w:customXmlMoveFromRangeEnd>
CustomXmlMoveToRangeStart <w:customXmlMoveToRangeStart>
CustomXmlMoveToRangeEnd <w:customXmlMoveToRangeEnd>
DocumentFormat.OpenXml.Office2010.Word.CustomXmlConflictInsertionRangeStart <w14:customXmlConflictInsRangeStart>
DocumentFormat.OpenXml.Office2010.Word.CustomXmlConflictInsertionRangeEnd <w14:customXmlConflictInsRangeEnd>
DocumentFormat.OpenXml.Office2010.Word.CustomXmlConflictDeletionRangeStart <w14:customXmlConflictDelRangeStart>
DocumentFormat.OpenXml.Office2010.Word.CustomXmlConflictDeletionRangeEnd <w14:customXmlConflictDelRangeEnd>
TableProperties <w:tblPr>
TableGrid <w:tblGrid>
TableRow <w:tr>
CustomXmlRow <w:customXml>
SdtRow <w:sdt>
ProofError <w:proofErr>
PermStart <w:permStart>
PermEnd <w:permEnd>
InsertedRun <w:ins>
DeletedRun <w:del>
MoveFromRun <w:moveFrom>
MoveToRun <w:moveTo>
ContentPart <w:contentPart>
DocumentFormat.OpenXml.Office2010.Word.RunConflictInsertion <w14:conflictIns>
DocumentFormat.OpenXml.Office2010.Word.RunConflictDeletion <w14:conflictDel>
[ISO/IEC 29500-1 редакция 1]
17.4.38 tbl (Table)
This element specifies the contents of a table present in the document. A table is a set of paragraphs (and other block-level content) arranged in rows and columns. Tables in WordprocessingML are defined via the tbl element, which is analogous to the HTML table tag.
When two tbl elements having the same style (§17.4.63) are present within the document content, without any intervening p elements, the corresponding tables shall be treated as a single table.
[Example: Consider an empty one-cell table (i.e.; a table with one row, one column) and 1 point borders on all sides:
This table is represented by the following WordprocessingML:
<w:tbl>
<w:tblPr>
<w:tblW w:w="5000" w:type="pct"/>
<w:tblBorders>
<w:top w:val="single" w:sz="4" w:space="0" w:color="auto"/>
<w:left w:val="single" w:sz="4" w:space="0" w:color="auto"/>
<w:bottom w:val="single" w:sz="4" w:space="0" w:color="auto"/>
<w:right w:val="single" w:sz="4" w:space="0" w:color="auto"/>
</w:tblBorders>
</w:tblPr>
<w:tblGrid>
<w:gridCol w:w="10296"/>
</w:tblGrid>
<w:tr>
<w:tc>
<w:tcPr>
<w:tcW w:w="0" w:type="auto"/>
</w:tcPr>
<w:p/>
</w:tc>
</w:tr>
</w:tbl>
This table specifies table-wide properties of 100% of page width using the tblW element (§17.4.64); a the set of table borders using the tblBorders element (§17.4.39); the table grid which defines a set of shared vertical edges within the table using the tblGrid element (§17.4.49); and a single table row using the tr element (§17.4.79). end example]
Parent Elements |
---|
body (§17.2.2); comment (§17.13.4.2); customXml (§17.5.1.6); docPartBody (§17.12.6); endnote (§17.11.2); footnote (§17.11.10); ftr (§17.10.3); hdr (§17.10.4); sdtContent (§17.5.2.34); tc (§17.4.66) |
Child Elements |
Subclause |
---|---|
bookmarkEnd (Bookmark End) |
§17.13.6.1 |
bookmarkStart (Bookmark Start) |
§17.13.6.2 |
commentRangeEnd (Comment Anchor Range End) |
§17.13.4.3 |
commentRangeStart (Comment Anchor Range Start) |
§17.13.4.4 |
customXml (Row-Level Custom XML Element) |
§17.5.1.5 |
customXmlDelRangeEnd (Custom XML Markup Deletion End) |
§17.13.5.4 |
customXmlDelRangeStart (Custom XML Markup Deletion Start) |
§17.13.5.5 |
customXmlInsRangeEnd (Custom XML Markup Insertion End) |
§17.13.5.6 |
customXmlInsRangeStart (Custom XML Markup Insertion Start) |
§17.13.5.7 |
customXmlMoveFromRangeEnd (Custom XML Markup Move Source End) |
§17.13.5.8 |
customXmlMoveFromRangeStart (Custom XML Markup Move Source Start) |
§17.13.5.9 |
customXmlMoveToRangeEnd (Custom XML Markup Move Destination Location End) |
§17.13.5.10 |
customXmlMoveToRangeStart (Custom XML Markup Move Destination Location Start) |
§17.13.5.11 |
del (Deleted Run Content) |
§17.13.5.14 |
ins (Inserted Run Content) |
§17.13.5.18 |
moveFrom (Move Source Run Content) |
§17.13.5.22 |
moveFromRangeEnd (Move Source Location Container - End) |
§17.13.5.23 |
moveFromRangeStart (Move Source Location Container - Start) |
§17.13.5.24 |
moveTo (Move Destination Run Content) |
§17.13.5.25 |
moveToRangeEnd (Move Destination Location Container - End) |
§17.13.5.27 |
moveToRangeStart (Move Destination Location Container - Start) |
§17.13.5.28 |
oMath (Office Math) |
§22.1.2.77 |
oMathPara (Office Math Paragraph) |
§22.1.2.78 |
permEnd (Range Permission End) |
§17.13.7.1 |
permStart (Range Permission Start) |
§17.13.7.2 |
proofErr (Proofing Error Anchor) |
§17.13.8.1 |
sdt (Row-Level Structured Document Tag) |
§17.5.2.30 |
tblGrid (Table Grid) |
§17.4.49 |
tblPr (Table Properties) |
§17.4.60 |
tr (Table Row) |
§17.4.79 |
[Note: The W3C XML Schema definition of this element's content model (CT_Tbl) is located in §A.1. end note]
© ISO/IEC29500: 2008. Приведенный выше текст переведен с английского языка на русский корпорацией Майкрософт (или ее подрядчиками) и ISO не несет ответственности за эти переводы.
Examples
The following example is used to change the text in the second row and the third column of the first table found in a word processing file. After you run the code example, take a look on the file "TableEx.docx" to see the new text added to the cell.
using System;
using System.Linq;
using DocumentFormat.OpenXml.Packaging;
using DocumentFormat.OpenXml.Wordprocessing;
namespace TableEx
{
class Program
{
// Change the text in a table in a word processing document.
static void Main(string[] args)
{
// The fileName string represents an existing file that contains a table.
string fileName = @"C:\Users\Public\Documents\TableEx.docx";
// The text to be added to the cell (3,2).
string addedText = "This is the text added by the API example";
// Open the file for editing.
using (WordprocessingDocument doc =
WordprocessingDocument.Open(fileName, true))
{
// Find the first table in the document.
Table table =
doc.MainDocumentPart.Document.Body.Elements<Table>().First();
// Find the second row in the table.
TableRow row = table.Elements<TableRow>().ElementAt(1);
// Find the third cell in the row.
TableCell cell = row.Elements<TableCell>().ElementAt(2);
// Find the first paragraph in the table cell.
Paragraph parag = cell.Elements<Paragraph>().First();
// Find the first run in the paragraph.
Run run = parag.Elements<Run>().First();
// Set the text for the run.
Text text = run.Elements<Text>().First();
text.Text = addedText;
}
Console.WriteLine("All done. Press any key.");
Console.ReadKey();
}
}
}
Imports System.Linq
Imports DocumentFormat.OpenXml.Packaging
Imports DocumentFormat.OpenXml.Wordprocessing
Module Module1
' Change the text in a table in a word processing document.
Sub Main(ByVal args As String())
' The file name represents an existing document that contains a table.
Dim fileName As String = "C:\Users\Public\Documents\TableEx.docx"
' The text to be added to the cell (3,2).
Dim addedText As String = "This is the text added by the API example"
' Open the file for editing.
Using doc As WordprocessingDocument = WordprocessingDocument.Open(fileName, True)
' Find the first table in the document.
Dim table As Table = doc.MainDocumentPart.Document.Body.Elements(Of Table)().First()
' Find the second row in the table.
Dim row As TableRow = table.Elements(Of TableRow)().ElementAt(1)
' Find the third cell in the row.
Dim cell As TableCell = row.Elements(Of TableCell)().ElementAt(2)
' Find the first paragraph in the table cell.
Dim parag As Paragraph = cell.Elements(Of Paragraph)().First()
' Find the first run in the paragraph.
Dim run As Run = parag.Elements(Of Run)().First()
' Set the text for the run.
Dim text As Text = run.Elements(Of Text)().First()
text.Text = addedText
End Using
Console.WriteLine("All done. Press any key.")
Console.ReadKey()
End Sub
End Module
Thread Safety
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.