Table
Contenuti
[
Nascondere
]Table class
Rappresenta una tabella in un documento Word.
Per saperne di più, visita ilLavorare con le tabelle articolo di documentazione.
public class Table : CompositeNode
Costruttori
| Nome | Descrizione |
|---|---|
| Table(DocumentBase) | Inizializza una nuova istanza diTable classe. |
Proprietà
| Nome | Descrizione |
|---|---|
| AbsoluteHorizontalDistance { get; set; } | Ottiene o imposta la posizione assoluta orizzontale della tabella mobile specificata dalle proprietà della tabella, in punti. Il valore predefinito è 0. |
| AbsoluteVerticalDistance { get; set; } | Ottiene o imposta la posizione assoluta della tabella mobile verticale specificata dalle proprietà della tabella, in punti. Il valore predefinito è 0. |
| Alignment { get; set; } | Specifica come una tabella in linea viene allineata nel documento. |
| AllowAutoFit { get; set; } | Consente a Microsoft Word e Aspose.Words di ridimensionare automaticamente le celle di una tabella per adattarle al loro contenuto. |
| AllowCellSpacing { get; set; } | Ottiene o imposta l’opzione “Consenti spaziatura tra le celle”. |
| AllowOverlap { get; } | Ottiene se una tabella mobile deve consentire ad altri oggetti mobili nel documento di sovrapporsi alle sue estensioni quando vengono visualizzati. Il valore predefinito è VERO . |
| Bidi { get; set; } | Ottiene o imposta se questa è una tabella da destra a sinistra. |
| BottomPadding { get; set; } | Ottiene o imposta la quantità di spazio (in punti) da aggiungere sotto il contenuto delle celle. |
| CellSpacing { get; set; } | Ottiene o imposta la quantità di spazio (in punti) tra le celle. |
| Count { get; } | Ottiene il numero di figli immediati di questo nodo. |
| CustomNodeId { get; set; } | Specifica l’identificatore del nodo personalizzato. |
| Description { get; set; } | Ottiene o imposta la descrizione di questa tabella. Fornisce una rappresentazione testuale alternativa delle informazioni contenute nella tabella. |
| DistanceBottom { get; set; } | Ottiene o imposta la distanza tra il fondo della tabella e il testo circostante, in punti. |
| DistanceLeft { get; set; } | Ottiene o imposta la distanza tra la parte sinistra della tabella e il testo circostante, in punti. |
| DistanceRight { get; set; } | Ottiene o imposta la distanza tra la parte destra della tabella e il testo circostante, in punti. |
| DistanceTop { get; set; } | Ottiene o imposta la distanza tra il piano del tavolo e il testo circostante, in punti. |
| virtual Document { get; } | Ottiene il documento a cui appartiene questo nodo. |
| FirstChild { get; } | Ottiene il primo figlio del nodo. |
| FirstRow { get; } | Restituisce il primoRow nodo nella tabella. |
| HasChildNodes { get; } | RestituisceVERO se questo nodo ha nodi figlio. |
| HorizontalAnchor { get; set; } | Ottiene l’oggetto base da cui deve essere calcolato il posizionamento orizzontale della tabella mobile. Il valore predefinito èColumn . |
| override IsComposite { get; } | RestituisceVERO poiché questo nodo può avere nodi figlio. |
| LastChild { get; } | Ottiene l’ultimo figlio del nodo. |
| LastRow { get; } | Restituisce l’ultimoRow nodo nella tabella. |
| LeftIndent { get; set; } | Ottiene o imposta il valore che rappresenta il rientro sinistro della tabella. |
| LeftPadding { get; set; } | Ottiene o imposta la quantità di spazio (in punti) da aggiungere a sinistra del contenuto delle celle. |
| NextSibling { get; } | Ottiene il nodo immediatamente successivo a questo nodo. |
| override NodeType { get; } | RestituisceTable . |
| ParentNode { get; } | Ottiene il genitore immediato di questo nodo. |
| PreferredWidth { get; set; } | Ottiene o imposta la larghezza preferita della tabella. |
| PreviousSibling { get; } | Ottiene il nodo immediatamente precedente questo nodo. |
| Range { get; } | Restituisce unRangeoggetto che rappresenta la porzione di un documento contenuta in questo nodo. |
| RelativeHorizontalAlignment { get; set; } | Ottiene o imposta l’allineamento orizzontale relativo della tabella mobile. |
| RelativeVerticalAlignment { get; set; } | Ottiene o imposta l’allineamento verticale relativo della tabella mobile. |
| RightPadding { get; set; } | Ottiene o imposta la quantità di spazio (in punti) da aggiungere a destra del contenuto delle celle. |
| Rows { get; } | Fornisce accesso tipizzato alle righe della tabella. |
| Style { get; set; } | Ottiene o imposta lo stile tabella applicato a questa tabella. |
| StyleIdentifier { get; set; } | Ottiene o imposta l’identificatore di stile indipendente dalle impostazioni locali dello stile di tabella applicato a questa tabella. |
| StyleName { get; set; } | Ottiene o imposta il nome dello stile tabella applicato a questa tabella. |
| StyleOptions { get; set; } | Ottiene o imposta i flag di bit che specificano come uno stile di tabella viene applicato a questa tabella. |
| TextWrapping { get; set; } | Ottiene o impostaTextWrapping per la tabella. |
| Title { get; set; } | Ottiene o imposta il titolo di questa tabella. Fornisce una rappresentazione testuale alternativa delle informazioni contenute nella tabella. |
| TopPadding { get; set; } | Ottiene o imposta la quantità di spazio (in punti) da aggiungere sopra il contenuto delle celle. |
| VerticalAnchor { get; set; } | Ottiene l’oggetto base da cui deve essere calcolato il posizionamento verticale della tabella mobile. Il valore predefinito èMargin . |
Metodi
| Nome | Descrizione |
|---|---|
| override Accept(DocumentVisitor) | Accetta un visitatore. |
| override AcceptEnd(DocumentVisitor) | Accetta un visitatore che raggiunge la fine della tabella. |
| override AcceptStart(DocumentVisitor) | Accetta un visitatore per aver visitato l’inizio della tabella. |
| AppendChild<T>(T) | Aggiunge il nodo specificato alla fine dell’elenco dei nodi figlio per questo nodo. |
| AutoFit(AutoFitBehavior) | Ridimensiona la tabella e le celle in base al comportamento di adattamento automatico specificato. |
| ClearBorders() | Rimuove tutti i bordi delle tabelle e delle celle in questa tabella. |
| ClearShading() | Rimuove tutte le ombreggiature sulla tabella. |
| Clone(bool) | Crea un duplicato del nodo. |
| ConvertToHorizontallyMergedCells() | Converte le celle unite orizzontalmente per larghezza in celle unite perHorizontalMerge . |
| CreateNavigator() | Crea un navigatore che può essere utilizzato per attraversare e leggere i nodi. |
| EnsureMinimum() | Se la tabella non ha righe, ne crea e ne aggiunge unaRow . |
| GetAncestor(NodeType) | Ottiene il primo antenato dell’oggetto specificatoNodeType . |
| GetAncestor(Type) | Ottiene il primo antenato del tipo di oggetto specificato. |
| GetChild(NodeType, int, bool) | Restituisce un N-esimo nodo figlio che corrisponde al tipo specificato. |
| GetChildNodes(NodeType, bool) | Restituisce una raccolta live di nodi figlio che corrispondono al tipo specificato. |
| GetEnumerator() | Fornisce supporto per ogni iterazione di stile sui nodi figlio di questo nodo. |
| override GetText() | Ottiene il testo di questo nodo e di tutti i suoi figli. |
| IndexOf(Node) | Restituisce l’indice del nodo figlio specificato nell’array dei nodi figlio. |
| InsertAfter<T>(T, Node) | Inserisce il nodo specificato subito dopo il nodo di riferimento specificato. |
| InsertBefore<T>(T, Node) | Inserisce il nodo specificato immediatamente prima del nodo di riferimento specificato. |
| NextPreOrder(Node) | Ottiene il nodo successivo in base all’algoritmo di attraversamento dell’albero preordinato. |
| PrependChild<T>(T) | Aggiunge il nodo specificato all’inizio dell’elenco dei nodi figlio per questo nodo. |
| PreviousPreOrder(Node) | Ottiene il nodo precedente secondo l’algoritmo di attraversamento dell’albero preordinato. |
| Remove() | Si rimuove dal genitore. |
| RemoveAllChildren() | Rimuove tutti i nodi figlio del nodo corrente. |
| RemoveChild<T>(T) | Rimuove il nodo figlio specificato. |
| RemoveSmartTags() | Rimuove tuttoSmartTag nodi discendenti del nodo corrente. |
| SelectNodes(string) | Seleziona un elenco di nodi che corrispondono all’espressione XPath. |
| SelectSingleNode(string) | Seleziona il primoNode che corrisponde all’espressione XPath. |
| SetBorder(BorderType, LineStyle, double, Color, bool) | Imposta il bordo della tabella specificato sullo stile di linea, sulla larghezza e sul colore specificati. |
| SetBorders(LineStyle, double, Color) | Imposta tutti i bordi della tabella sullo stile di linea, la larghezza e il colore specificati. |
| SetShading(TextureIndex, Color, Color) | Imposta l’ombreggiatura sui valori specificati sull’intera tabella. |
| ToString(SaveFormat) | Esporta il contenuto del nodo in una stringa nel formato specificato. |
| ToString(SaveOptions) | Esporta il contenuto del nodo in una stringa utilizzando le opzioni di salvataggio specificate. |
Osservazioni
Table è un nodo a livello di blocco e può essere un figlio di classi derivate daStory oppure InlineStory.
Table può contenere uno o piùRow nodi.
Una tabella minima valida deve avere almeno unoRow.
Esempi
Mostra come creare una tabella.
Document doc = new Document();
Table table = new Table(doc);
doc.FirstSection.Body.AppendChild(table);
// Le tabelle contengono righe, che contengono celle, che possono avere paragrafi
// con elementi tipici quali sequenze, forme e persino altre tabelle.
// La chiamata al metodo "EnsureMinimum" su una tabella garantirà che
// la tabella ha almeno una riga, una cella e un paragrafo.
Row firstRow = new Row(doc);
table.AppendChild(firstRow);
Cell firstCell = new Cell(doc);
firstRow.AppendChild(firstCell);
Paragraph paragraph = new Paragraph(doc);
firstCell.AppendChild(paragraph);
// Aggiunge testo alla prima cella della prima riga della tabella.
Run run = new Run(doc, "Hello world!");
paragraph.AppendChild(run);
doc.Save(ArtifactsDir + "Table.CreateTable.docx");
Mostra come scorrere tutte le tabelle del documento e stampare il contenuto di ogni cella.
Document doc = new Document(MyDir + "Tables.docx");
TableCollection tables = doc.FirstSection.Body.Tables;
Assert.AreEqual(2, tables.ToArray().Length);
for (int i = 0; i < tables.Count; i++)
{
Console.WriteLine($"Start of Table {i}");
RowCollection rows = tables[i].Rows;
// Possiamo usare il metodo "ToArray" su una raccolta di righe per clonarla in un array.
Assert.AreEqual(rows, rows.ToArray());
Assert.AreNotSame(rows, rows.ToArray());
for (int j = 0; j < rows.Count; j++)
{
Console.WriteLine($"\tStart of Row {j}");
CellCollection cells = rows[j].Cells;
// Possiamo usare il metodo "ToArray" su una raccolta di celle per clonarla in un array.
Assert.AreEqual(cells, cells.ToArray());
Assert.AreNotSame(cells, cells.ToArray());
for (int k = 0; k < cells.Count; k++)
{
string cellText = cells[k].ToString(SaveFormat.Text).Trim();
Console.WriteLine($"\t\tContents of Cell:{k} = \"{cellText}\"");
}
Console.WriteLine($"\tEnd of Row {j}");
}
Console.WriteLine($"End of Table {i}\n");
}
Mostra come creare una tabella formattata 2x2.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Table table = builder.StartTable();
builder.InsertCell();
builder.CellFormat.VerticalAlignment = CellVerticalAlignment.Center;
builder.Write("Row 1, cell 1.");
builder.InsertCell();
builder.Write("Row 1, cell 2.");
builder.EndRow();
// Durante la creazione della tabella, il generatore di documenti applicherà i valori correnti delle proprietà RowFormat/CellFormat
// alla riga/cella corrente in cui si trova il cursore e a tutte le nuove righe/celle man mano che vengono create.
Assert.AreEqual(CellVerticalAlignment.Center, table.Rows[0].Cells[0].CellFormat.VerticalAlignment);
Assert.AreEqual(CellVerticalAlignment.Center, table.Rows[0].Cells[1].CellFormat.VerticalAlignment);
builder.InsertCell();
builder.RowFormat.Height = 100;
builder.RowFormat.HeightRule = HeightRule.Exactly;
builder.CellFormat.Orientation = TextOrientation.Upward;
builder.Write("Row 2, cell 1.");
builder.InsertCell();
builder.CellFormat.Orientation = TextOrientation.Downward;
builder.Write("Row 2, cell 2.");
builder.EndRow();
builder.EndTable();
// Le righe e le celle aggiunte in precedenza non vengono retroattivamente influenzate dalle modifiche apportate alla formattazione del builder.
Assert.AreEqual(0, table.Rows[0].RowFormat.Height);
Assert.AreEqual(HeightRule.Auto, table.Rows[0].RowFormat.HeightRule);
Assert.AreEqual(100, table.Rows[1].RowFormat.Height);
Assert.AreEqual(HeightRule.Exactly, table.Rows[1].RowFormat.HeightRule);
Assert.AreEqual(TextOrientation.Upward, table.Rows[1].Cells[0].CellFormat.Orientation);
Assert.AreEqual(TextOrientation.Downward, table.Rows[1].Cells[1].CellFormat.Orientation);
doc.Save(ArtifactsDir + "DocumentBuilder.BuildTable.docx");
Mostra come creare una tabella nidificata senza utilizzare un generatore di documenti.
public void CreateNestedTable()
{
Document doc = new Document();
// Crea la tabella esterna con tre righe e quattro colonne, quindi aggiungila al documento.
Table outerTable = CreateTable(doc, 3, 4, "Outer Table");
doc.FirstSection.Body.AppendChild(outerTable);
// Crea un'altra tabella con due righe e due colonne e inseriscila nella prima cella della prima tabella.
Table innerTable = CreateTable(doc, 2, 2, "Inner Table");
outerTable.FirstRow.FirstCell.AppendChild(innerTable);
doc.Save(ArtifactsDir + "Table.CreateNestedTable.docx");
}
/// <summary>
/// Crea una nuova tabella nel documento con le dimensioni specificate e il testo in ogni cella.
/// </summary>
private static Table CreateTable(Document doc, int rowCount, int cellCount, string cellText)
{
Table table = new Table(doc);
for (int rowId = 1; rowId <= rowCount; rowId++)
{
Row row = new Row(doc);
table.AppendChild(row);
for (int cellId = 1; cellId <= cellCount; cellId++)
{
Cell cell = new Cell(doc);
cell.AppendChild(new Paragraph(doc));
cell.FirstParagraph.AppendChild(new Run(doc, cellText));
row.AppendChild(cell);
}
}
// Puoi utilizzare le proprietà "Titolo" e "Descrizione" per aggiungere rispettivamente un titolo e una descrizione alla tua tabella.
// La tabella deve avere almeno una riga prima di poter utilizzare queste proprietà.
// Queste proprietà sono significative per i documenti .docx conformi allo standard ISO/IEC 29500 (vedere la classe OoxmlCompliance).
// Se salviamo il documento in formati precedenti a ISO/IEC 29500, Microsoft Word ignora queste proprietà.
table.Title = "Aspose table title";
table.Description = "Aspose table description";
return table;
}
Guarda anche
- class CompositeNode
- spazio dei nomi Aspose.Words.Tables
- assemblea Aspose.Words