Skip to content

table.getColumnByIndex(x).setWidth(y) fails when table created with header rows #438

@its-awillerding

Description

@its-awillerding

When running the following code, the line that sets the column width fails, if the table is created with headerRowNumber and headerColumnNumber. It does not fail if the newTable method is called only with the number of rows and columns.

setWidth fails-> OdfTable myTable = OdfTable.newTable(outputOdt, 1, 3, 1, 3);
setWidth works-> OdfTable myTable = OdfTable.newTable(outputOdt, 1, 3);

Here's an example of the code failing...

OdfTable myTable = OdfTable.newTable(outputOdt, 1, numCols, headerRowNumber, headerColumnNumber);

logItem("Template:createTable" + templateFileName + "->HeaderRow=" + myTable.getHeaderRowCount()+ ",HeaderCol=" +         myTable.getHeaderColumnCount(), Level.INFO);            
logItem("Template:createTable" + templateFileName + "->Row=" + myTable.getRowCount() + ",Col=" + myTable.getColumnCount(),
                Level.INFO);

for (Integer integer : listColumnDetails.keySet()) {
     System.out.println("Template::CreateTable Integer=" + integer + "->" + listColumnDetails.get(integer).longValue());
     myTable.getColumnByIndex(integer-1).setWidth( listColumnDetails.get(integer).longValue());
}

Output is as follows...

2026-04-06,11:05:42:023,INFO ,[pool-17-thread-1],,Template:createTableUserAnalysisReport.odt->HeaderRow=1,HeaderCol=3
2026-04-06,11:05:42:023,INFO ,[pool-17-thread-1],,Template:createTableUserAnalysisReport.odt->Row=1,Col=3
Template::CreateTable Integer=1->120
2026-04-06,11:05:51:339,ERROR,[pool-17-thread-1],,Template::createTable::file:///NetBeans/ITSiMonitor/target/ITSiMonitor-1.0/Resources/ReportTemplates/UserAnalysisReport.odt
org.w3c.dom.DOMException: NOT_FOUND_ERR: An attempt is made to reference a node in a context where it does not exist.
at org.apache.xerces.dom.ParentNode.internalInsertBefore(Unknown Source)
at org.apache.xerces.dom.ParentNode.insertBefore(Unknown Source)
at org.odftoolkit.odfdom.pkg.OdfElement.insertBefore(OdfElement.java:794)
at org.odftoolkit.odfdom.doc.table.OdfTableColumn.splitRepeatedColumns(OdfTableColumn.java:209)
at org.odftoolkit.odfdom.doc.table.OdfTableColumn.setWidth(OdfTableColumn.java:156)
at com.Utilities.Document.ODFTemplateDocUtilities.createTable(ODFTemplateDocUtilities.java:852)

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions