Table
Klasa: Table
ImageRenderOptions: aspose.note ImageRenderOptions: from aspose.note import Table ImageRenderOptions: CompositeNode
Table reprezentuje tabelę w OutlineElement.zawiera listę TableRow elementów potomnych i udostępnia szerokości kolumn oraz widoczność obramowań.
ImageRenderOptions
| Name | Type | Access | Description |
|---|---|---|---|
Tags | list[NoteTag] | Read | Gets the tags. |
Columns | list[TableColumn] | Read | Gets the columns. |
IsBordersVisible | `` | Read | Gets the is borders visible. |
LastModifiedTime | `` | Read | Gets the last modified time. |
FirstChild | `Node | None` | Read |
LastChild | `Node | None` | Read |
ParentNode | `Node | None` | Read |
Document | `Document | None` | Read |
| Signature | Description |
|---|---|
| `init(Tags: list[NoteTag] | None, Columns: list[TableColumn] |
AppendChildLast(node: TNode) → TNode | |
AppendChildFirst(node: TNode) → TNode | |
InsertChild(index: int, node: TNode) → TNode | |
RemoveChild(node: Node) | |
GetEnumerator() → Iterator[Node] | |
GetChildNodes(node_type: type[TNode]) → list[TNode] | |
Accept(visitor: DocumentVisitor) |
Dziedziczone z CompositeNode / Node
FirstChild, LastChild, GetChildNodes(Type), for row in table, ParentNode, Document
Klasa: TableRow
ImageRenderOptions: aspose.note ImageRenderOptions: from aspose.note import TableRow ImageRenderOptions: CompositeNode
TableRow jest pojedynczym wierszem w Table.Jej bezpośrednie elementy potomne to TableCell węzły.
ImageRenderOptions
rows = table.GetChildNodes(TableRow)
for row in rows:
cells = row.GetChildNodes(TableCell)Klasa: TableCell
ImageRenderOptions: aspose.note ImageRenderOptions: from aspose.note import TableCell ImageRenderOptions: CompositeNode
TableCell jest pojedynczą komórką w TableRow.Może zawierać RichText, Image, i inne węzły treści.
ImageRenderOptions
for cell in row.GetChildNodes(TableCell):
text = " ".join(rt.Text for rt in cell.GetChildNodes(RichText))Przykłady użycia
Odczytaj wszystkie tabele: pełne przeglądanie
from aspose.note import Document, Table, TableRow, TableCell, RichText
doc = Document("MyNotes.one")
for t_num, table in enumerate(doc.GetChildNodes(Table), start=1):
print(f"\nTable {t_num} cols={len(table.ColumnWidths)} widths={table.ColumnWidths}")
for r_num, row in enumerate(table.GetChildNodes(TableRow), start=1):
cells = row.GetChildNodes(TableCell)
row_data = [
" ".join(rt.Text for rt in cell.GetChildNodes(RichText)).strip()
for cell in cells
]
print(f" Row {r_num}: {row_data}")Eksportuj tabele do CSV
import csv, io
from aspose.note import Document, Table, TableRow, TableCell, RichText
doc = Document("MyNotes.one")
buf = io.StringIO()
writer = csv.writer(buf)
for table in doc.GetChildNodes(Table):
for row in table.GetChildNodes(TableRow):
values = [
" ".join(rt.Text for rt in cell.GetChildNodes(RichText)).strip()
for cell in row.GetChildNodes(TableCell)
]
writer.writerow(values)
writer.writerow([])
csv_text = buf.getvalue()
print(csv_text)Policz wiersze i kolumny
from aspose.note import Document, Table, TableRow, TableCell
doc = Document("MyNotes.one")
for i, table in enumerate(doc.GetChildNodes(Table), start=1):
rows = table.GetChildNodes(TableRow)
cols = len(rows[0].GetChildNodes(TableCell)) if rows else 0
print(f"Table {i}: {len(rows)} row(s) x {cols} column(s)")Tabele z obrazami w komórkach
Komórki mogą zawierać Image węzły obok lub zamiast RichText:
from aspose.note import Document, Table, TableRow, TableCell, RichText, Image
doc = Document("MyNotes.one")
for table in doc.GetChildNodes(Table):
for row in table.GetChildNodes(TableRow):
for cell in row.GetChildNodes(TableCell):
texts = cell.GetChildNodes(RichText)
images = cell.GetChildNodes(Image)
if images:
print(f" Cell with {len(images)} image(s) and {len(texts)} text(s)")Sprawdź tagi w tabeli
from aspose.note import Document, Table
doc = Document("MyNotes.one")
for table in doc.GetChildNodes(Table):
for tag in table.Tags:
print(f"Table tag: {tag.label!r} completed={tag.completed}")Pozycja DOM
OutlineElement
└── Table
└── TableRow (0..n)
└── TableCell (0..n)
├── RichText (0..n)
└── Image (0..n)Table zawsze jest potomkiem OutlineElement. Użyj table.ParentNode aby uzyskać dostęp do zawierającego OutlineElement.
Zobacz także
- RichText: treść tekstowa w komórkach
- ImageRenderOptions: zawartość graficzna w komórkach
- Przewodnik programisty po parsowaniu tabel
- Jak parsować tabele (KB)
- Blog: Parsowanie tabel OneNote w Python