We're sorry Aspose doesn't work properply without JavaScript enabled.

Free Support Forum - aspose.com

How do I "tab" to the next cell in a table?

In a Word document, I can move to the next cell by using the TAB key. And when I get to the last cell in the last row of the table, pressing the TAB key generates a new row. I want to do the same thing in Aspose.Words. I have a document template with a bookmark in the first cell of the table. After writing the value in the first cell of the table I want to move to the next cell. I've tried builder.Write("\t") and builder.Write("\n") but the write position stays in the first cell.

How do I move to the next cell in a table?

Hi<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

Thanks for your inquiry. You should use DocumentBuilder.MoveToCell method to move between cells. Please see the following link for more information.


Also if you have bookmark in the first cell of your table you can try using the following code.

//Open document and create DocumentBuilder

Document doc = new Document(@"Test099\in.doc");

DocumentBuilder builder = new DocumentBuilder(doc);

//Move documentBuilder cursor to the bookmark


if (builder.CurrentNode.GetAncestor(NodeType.Row) != null)


//Create a clone of emty row

//this will be needed for inserting additional rows

Row emptyRow = (Row)builder.CurrentNode.GetAncestor(NodeType.Row).Clone(true);

//Also we should get Parant table

Table mainTable = (Table)builder.CurrentNode.GetAncestor(NodeType.Table);

//For example we would like to insert 100 items

//But Table inside document has only one row

//and row has 5 cells

for (int i = 0; i < 100; i++)


//Insert some value

builder.Write(String.Format("value of cell #{0}", i));

//Now we should move cursor to the next cell

//We get cell where cursor is placed now

//And move cursor to the next cell

Cell currentCell = (Cell)builder.CurrentParagraph.GetAncestor(NodeType.Cell);

//Check whether there is next cell in the current row

if (currentCell.NextSibling != null)


//If so move document builder cursor to the next cell

builder.MoveTo((currentCell.NextSibling as Cell).FirstParagraph);


//Otherwise move cursor to the next row



//Get current Row

Row currentRow = currentCell.ParentRow;

if (currentRow.NextSibling != null)


builder.MoveTo((currentRow.NextSibling as Row).FirstCell.FirstParagraph);


//If there is no next row we should insert new row









//Save result document


I hope this could help you.

Best regards.

Thanks for the detailed explanation.