Bokmärk tabellkolumner i Word-dokument
I den här artikeln kommer vi att utforska C#-källkoden ovan för att förstå hur man använder funktionen Bookmark Table Columns i Aspose.Words for .NET-biblioteket. Med den här funktionen kan du bokmärka en specifik kolumn i en tabell i ett Word-dokument och komma åt innehållet i den kolumnen.
Förutsättningar
- Grundläggande kunskaper i C#-språket.
- .NET-utvecklingsmiljö med Aspose.Words-biblioteket installerat.
Steg 1: Skapa tabellen
Innan vi skapar ett bokmärke på en tabellkolumn måste vi först skapa tabellen med hjälp av enDocumentBuilder
objekt. I vårt exempel skapar vi en tabell med två rader och två kolumner:
builder. StartTable();
builder. InsertCell();
builder. StartBookmark("MyBookmark");
builder.Write("This is cell 1 of row 1");
builder. InsertCell();
builder.Write("This is cell 2 of row 1");
builder. EndRow();
builder. InsertCell();
builder.Writeln("This is cell 1 of row 2");
builder. InsertCell();
builder.Writeln("This is cell 2 of row 2");
builder. EndRow();
builder. EndTable();
Steg 2: Skapa kolumnbokmärket
Vi använderStartBookmark
metod för att skapa ett bokmärke på en specifik kolumn i tabellen. I vårt exempel använder vi namnet “Mitt bokmärke” för bokmärket:
builder. StartBookmark("MyBookmark");
Steg 3: Gå till kolumninnehållet
Vi går igenom alla bokmärken i dokumentet och visar deras namn. Om ett bokmärke är en kolumn kommer vi åt innehållet i den kolumnen med hjälp av kolumnindex ochGetText
metod:
foreach (Bookmark
bookmark in doc.Range.Bookmarks)
{
Console.WriteLine("Bookmark: {0}{1}", bookmark.Name, bookmark.IsColumn?" (Column)": "");
if (bookmark.IsColumn)
{
if (bookmark.BookmarkStart.GetAncestor(NodeType.Row) is Row row && bookmark.FirstColumn < row.Cells.Count)
Console.WriteLine(row.Cells[bookmark.FirstColumn].GetText().TrimEnd(ControlChar.CellChar));
}
}
Exempel på källkod för bokmärkestabellkolumner med Aspose.Words för .NET
Här är den fullständiga källkoden för att demonstrera att skapa ett bokmärke i en tabellkolumn med Aspose.Words för .NET:
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
builder.StartTable();
builder.InsertCell();
builder.StartBookmark("MyBookmark");
builder.Write("This is row 1 cell 1");
builder.InsertCell();
builder.Write("This is row 1 cell 2");
builder.EndRow();
builder.InsertCell();
builder.Writeln("This is row 2 cell 1");
builder.InsertCell();
builder.Writeln("This is row 2 cell 2");
builder.EndRow();
builder.EndTable();
builder.EndBookmark("MyBookmark");
foreach (Bookmark bookmark in doc.Range.Bookmarks)
{
Console.WriteLine("Bookmark: {0}{1}", bookmark.Name, bookmark.IsColumn ? " (Column)" : "");
if (bookmark.IsColumn)
{
if (bookmark.BookmarkStart.GetAncestor(NodeType.Row) is Row row && bookmark.FirstColumn < row.Cells.Count)
Console.WriteLine(row.Cells[bookmark.FirstColumn].GetText().TrimEnd(ControlChar.CellChar));
}
}
Slutsats
I den här artikeln utforskade vi C#-källkoden för att förstå hur man använder funktionen Bokmärkestabellkolumner i Aspose.Words för .NET. Vi följde en steg-för-steg-guide för att bokmärka en specifik kolumn i en tabell i ett Word-dokument och hoppa till innehållet i den kolumnen.
Vanliga frågor om bokmärkestabellkolumner i word-dokument
F: Vilka är förutsättningarna för att använda funktionen “Bokmärken för tabellkolumner” i Aspose.Words för .NET?
S: För att använda funktionen “Bokmärken för tabellkolumner” i Aspose.Words för .NET måste du ha grundläggande kunskaper i C#-språket. Du behöver också en .NET-utvecklingsmiljö med Aspose.Words-biblioteket installerat.
F: Hur skapar man en tabell med kolumner i ett Word-dokument med Aspose.Words för .NET?
S: För att skapa en tabell med kolumner i ett Word-dokument med Aspose.Words för .NET, kan du använda enDocumentBuilder
objekt för att infoga celler och innehåll i tabellen. Här är en exempelkod:
builder. StartTable();
builder. InsertCell();
builder.Write("Contents of cell 1 of column 1");
builder. InsertCell();
builder.Write("Contents of cell 2 of column 2");
builder. EndRow();
builder. InsertCell();
builder.Write("Contents of cell 1 of column 2");
builder. InsertCell();
builder.Write("Contents of cell 2 of column 2");
builder. EndRow();
builder. EndTable();
F: Hur bokmärker man en tabellkolumn med Aspose.Words för .NET?
S: För att skapa ett bokmärke i en tabellkolumn med Aspose.Words för .NET kan du användaStartBookmark
metod förDocumentBuilder
objekt för att starta bokmärket på en specifik tabellkolumn. Här är en exempelkod:
builder.StartBookmark("MyBookmark");
F: Hur får man tillgång till tabellkolumnsinnehåll från bokmärke med Aspose.Words för .NET?
S: För att komma åt innehållet i en tabellkolumn från ett bokmärke med Aspose.Words för .NET kan du gå igenom alla bokmärken i dokumentet, kontrollera om ett bokmärke är en kolumn och använda kolumnindex för att komma åt innehållet i den kolumnen. Här är en exempelkod:
foreach(Bookmark bookmark in doc.Range.Bookmarks)
{
if (bookmark.IsColumn)
{
if (bookmark.BookmarkStart.GetAncestor(NodeType.Row) is Row row && bookmark.FirstColumn < row.Cells.Count)
{
string content = row.Cells[bookmark.FirstColumn].GetText().TrimEnd(ControlChar.CellChar);
// Gör något med innehållet i spalten...
}
}
}
F: Finns det en gräns för antalet kolumner jag kan skapa i en tabell med kolumnbokmärken?
S: Det finns ingen specifik gräns för antalet kolumner du kan skapa i en tabell med kolumnbokmärken med Aspose.Words för .NET. Gränsen beror huvudsakligen på de resurser som finns tillgängliga på ditt system och specifikationerna för det Word-filformat du använder. Det rekommenderas dock att inte skapa ett alltför stort antal kolumner, eftersom detta kan påverka slutdokumentets prestanda och läsbarhet.