我有一个对象列表(每个对象都包含一个字符串和另一个对象列表(这个对象包含两个字符串)
我需要使用 Apache poi API 将数据附加到 Excel 表中
List<objects> -->String(ex:-Test profile1, List<objects> --> String(tab name ex :standard -account),String (ex :hidden/default off)
TabName 测试配置文件1 测试配置文件2 测试配置文件3 测试配置文件4
标准-帐户 默认关闭 默认关闭 默认关闭 默认关闭 标准-活动隐藏 隐藏 隐藏 隐藏 隐藏 标准-案例 默认关闭 默认关闭 默认关闭 默认关闭 标准-联系人 默认开启 默认开启 默认开启 默认开启
当对象列表(字符串,字符串)的大小发生变化时,我编写的代码可以正常工作
HSSFRow rowTablevelHeader = null;
HSSFRow rowtablevel = null;
//check sheet name
rowTablevelHeader = fourthSheet.createRow(0);
HSSFCell cellT1 = rowTablevelHeader.createCell(0);
cellT1.setCellValue(new HSSFRichTextString("TabName"));
/*int maxtablevelSize = listprofileTabLevelVisibilities.get(0).getTablevelVisibility().size();
for (int i = 0; i < listprofileTabLevelVisibilities.size(); i++) {
int tablevelSize1 = listprofileTabLevelVisibilities.get(i).getTablevelVisibility().size();
if(tablevelSize1 >maxtablevelSize)
{
maxtablevelSize= tablevelSize1;
}
}
*/
for (int i = 0; i < listprofileTabLevelVisibilities.size(); i++) {
HSSFCell cellP1 = rowTablevelHeader.createCell(i+1);
cellP1.setCellValue(new HSSFRichTextString(listprofileTabLevelVisibilities.get(i).getProfileName()));
int currentRow = 0;
System.out.println("Size tablevel --- "+listprofileTabLevelVisibilities.get(i).getTablevelVisibility().size());
for (int j = 0; j < listprofileTabLevelVisibilities.get(i).getTablevelVisibility().size(); j++) {
currentRow++;
rowtablevel = fourthSheet.getRow(currentRow);
if(null == rowtablevel){
rowtablevel =fourthSheet.createRow(currentRow);
}
if(null ==rowtablevel.getCell(0))
{
HSSFCell cellAP1 = rowtablevel.createCell(0);
cellAP1.setCellValue(new HSSFRichTextString(listprofileTabLevelVisibilities.get(i).getTablevelVisibility().get(j).getTabName()));
}
System.out.println("Tab name --- "+listprofileTabLevelVisibilities.get(i).getTablevelVisibility().get(j).getTabName());
if(rowtablevel.getCell(0).getStringCellValue().equalsIgnoreCase(listprofileTabLevelVisibilities.get(i).getTablevelVisibility().get(j).getTabName())){
HSSFCell cellAP2 = rowtablevel.createCell(i+1);
cellAP2.setCellValue(new HSSFRichTextString(listprofileTabLevelVisibilities.get(i).getTablevelVisibility().get(j).getTabVisibility()));
}
}
}