Java 如何将条件数据添加到itext表格单元格中
我试图将从JSON文件解析的数据输入到表中。我在Eclipse上使用Java和itext外部jar,因为我试图输出PDF。 要输入的数据是有条件的Java 如何将条件数据添加到itext表格单元格中,java,pdf,itext,cell,Java,Pdf,Itext,Cell,我试图将从JSON文件解析的数据输入到表中。我在Eclipse上使用Java和itext外部jar,因为我试图输出PDF。 要输入的数据是有条件的 table.addCell("Annual Leave*"); if(ltype=="annual"){ table.addCell(from1); table.addCell(to1);
table.addCell("Annual Leave*");
if(ltype=="annual"){
table.addCell(from1);
table.addCell(to1);
table.addCell(n);
}
else{
table.addCell("");
table.addCell("");
table.addCell("");
}
table.addCell("Sick Leave(certified)**");
if(ltype=="sick_leave_cert"){
table.addCell(from1);
table.addCell(to1);
table.addCell(n);
}
这就是我一直试图做的。但是,我的最终PDF文档有一个空表。这个问题实际上与itext无关,它是关于Java字符串处理的:您可以这样比较字符串:
if(ltype=="annual")
...
if(ltype=="sick_leave_cert")
在Java中,字符串类型不是基元类型。因此,使用==进行字符串比较会检查两侧是否解析相同的字符串对象,而不是检查两侧的字符串是否在序列中表示相同的字符
要检查两个字符串是否表示相同的字符序列,请改用equals方法:
if("annual".equals(ltype))
...
if("sick_leave_cert".equals(ltype))
您没有告诉我们您为该表定义了多少列,而且看起来您使用的是旧的iText版本当前版本是iText 7.1.3。该表有4列5行。是的,我用的是7.0.7,我想知道语法是否正确。因为当我没有if/else条件时,数据会被放入单元格中。否则也不会发生同样的情况。您有一个包含4列的表,如果不满足条件,您只能向其中添加3个单元格。在这种情况下,表中没有任何完整的行。因此,表格没有绘制。您至少需要一个完整的行。换句话说:将列数更改为3,或者添加一个额外的单元格。我有4列。其中1个单元格有固定数据。所以我没有在代码片段中显示它。因此,如果你想要一个有用的答案,你应该提供一个答案。通过省略代码中的一行,您将收到一个无用的答案。现在我觉得给你一个毫无用处的回答很愚蠢,而我不应该受到责备,因为你没有给我所有需要的信息。这样一来,你就失去了我再次讨论你问题的机会。