我正在用ApachePOI创建一个excel文件,excel已经生成,但我无法根据我发布的代码中的单元格值来调整列
这就是我在excel中创建标题的方式
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet();
sheet.protectSheet("password");
sheet.autoSizeColumn(15);
HSSFFont hSSFFont = wb.createFont();
hSSFFont.setFontName(HSSFFont.FONT_ARIAL);
hSSFFont.setFontHeightInPoints((short) 8);
CellStyle style = wb.createCellStyle();
/* cell style for locking */
CellStyle lockedCellStyle = wb.createCellStyle();
lockedCellStyle.setLocked(true);
HSSFRow row = null;
HSSFCell cell = null;
row = sheet.createRow(0);
int headercolumnNo = 0;
//1st Column Header for Indicator
cell = row.createCell(headercolumnNo);
cell.setCellValue(new HSSFRichTextString(listOfActiveCarrierUserHeader.get(0)));
style.setWrapText(true);
style.setFillForegroundColor(IndexedColors.LIGHT_CORNFLOWER_BLUE.getIndex());
style.setFont(hSSFFont);
style.setFillPattern(CellStyle.SOLID_FOREGROUND);
cell.setCellStyle(style);
headercolumnNo = 1;
cell = row.createCell(headercolumnNo); //2nd Column Header for Firstname
cell.setCellValue(new HSSFRichTextString(listOfActiveCarrierUserHeader.get(1)));
style.setWrapText(true);
style.setFillForegroundColor(IndexedColors.LIGHT_CORNFLOWER_BLUE.getIndex());
style.setFont(hSSFFont);
cell.setCellStyle(style);
headercolumnNo = headercolumnNo + 1;
cell = row.createCell(headercolumnNo); //2nd Column Header for Firstname
cell.setCellValue(new HSSFRichTextString(listOfActiveCarrierUserHeader.get(2)));
style.setWrapText(true);
style.setFillForegroundColor(IndexedColors.LIGHT_CORNFLOWER_BLUE.getIndex());
style.setFont(hSSFFont);
cell.setCellStyle(style);
headercolumnNo = headercolumnNo + 1;
and this is how i have populated the values in that excel file
for(CarrierActiveUser carrierActiveUser : listOfCarrierUser){
int columnNo = 0;
row = sheet.createRow(j + 1);
cell = row.createCell(columnNo);
if(null != carrierActiveUser.getFistName()){
cell.setCellValue(new HSSFRichTextString(carrierActiveUser.getFistName()));
lockedCellStyle.setFont(hSSFFont);
cell.setCellStyle(lockedCellStyle);
}else{
cell.setCellValue(new HSSFRichTextString(" "));
cell.setCellStyle(lockedCellStyle);
}
columnNo = columnNo + 1;
cell = row.createCell(columnNo);
if(null != carrierActiveUser.getLastName()){
cell.setCellValue(new HSSFRichTextString(carrierActiveUser.getLastName()));
lockedCellStyle.setFont(hSSFFont);
cell.setCellStyle(lockedCellStyle);
}else{
cell.setCellValue(new HSSFRichTextString(" "));
cell.setCellStyle(lockedCellStyle);
}
columnNo = columnNo + 1;
cell = row.createCell(columnNo);
if(null != carrierActiveUser.getLastName()){
cell.setCellValue(new HSSFRichTextString(carrierActiveUser.getEmailId()));
lockedCellStyle.setFont(hSSFFont);
cell.setCellStyle(lockedCellStyle);
}else{
cell.setCellValue(new HSSFRichTextString(" "));
cell.setCellStyle(lockedCellStyle);
}
麻烦你帮我调一下栏目,我是阿帕契坡新手
您可以使用HSSFSheet。autoSizeColumn(columnNumber)
。
此方法调整列宽以适应内容,读取文档。
在为所有列设置所有单元格值后,您可以使用此方法,在当前代码中,在for循环后调用此方法。
示例代码
sheet.autoSizeColumn(1);
sheet.autoSizeColumn(2);
注意-对于所有要对齐的列和对工作表的调用,必须分别执行此操作。autoSizeColumn(columnNumber)
应在将数据填入excel后进行。在填充数据之前调用不会产生任何效果。
我尝试过自动调整我使用Jython Apache POI制作的Excel列的大小。我找到了这个线程:Apache POI Excel-如何配置要扩展的列?,但我仍然搞不清楚。 我尝试添加“sheet1.autoSizeColumn(1)”,但它不会改变任何东西。在每个可用列上调用它不是更好吗,因为为什么不希望每个列的格式都很好呢? 也许这在Jython中是不可能的? 恭喜你,克里斯托夫。
我有一个要求,需要将数据验证添加到整个列中,而不是特定的单元格中。我查阅了ApachePOI的文档,发现了下面的示例 但是上面的例子为特定的单元格创建了一个下拉数据验证。在这种情况下,行0,列0。列中的其余单元格没有验证。但是在实际的excel文件中,我们可以这样做,所以这应该是可能的。我尝试并搜索了很多,但无法找到解决方案。请帮助...
问题内容: 我有一个子类,可以在其上添加按钮,标签,表格等。要在屏幕上显示,请使用: 但是,当我调整窗口大小时,面板的大小不会改变。即使调整了尺寸,如何使面板的尺寸与窗口的尺寸相同? 问题答案: 您可以设置一个类似于BorderLayout的布局管理器,然后更具体地定义面板应该放置的位置: 这会将面板置于框架的中央区域,并在调整框架大小时自动增长。
问题内容: 我使用以下代码来自动调整电子表格中的列大小: 问题是,如果大型电子表格的行数超过3000行,则需要花10分钟以上的时间来自动调整每一列的大小。但是,对于小型文档而言,它运行得非常快。有什么可以帮助实现自动化以更快地工作的吗? 问题答案: 对我有用的解决方案: 可以避免合并区域,所以我可以遍历其他单元格并最终自动调整为最大的单元格,如下所示: 其中1.14388是“ Serif”字体和2
我正在努力设置一个组合框(在 Excel VBA 中),以便根据它包含的最长字符串的长度自动调整其宽度。 我正在尝试创建一个下拉列表(使用名为“WorksheetSelectionForm”的表单中的组合框),一旦打开特定工作簿,该列表就会出现在屏幕上,并允许用户选择要打开的工作簿工作表中的哪一个。 我希望组合框的宽度调整为下拉列表中最长文本字符串的长度。目前,我的下拉列表包含三个项目(工作簿中当
本文向大家介绍iframe如何自动调整高度?相关面试题,主要包含被问及iframe如何自动调整高度?时的应答技巧和注意事项,需要的朋友参考一下 未跨域时,在iframe中利用他的父窗口对象将本页面的滚动高度设置给iframe的height 跨域时,在iframe中将自己的的滚动高设置在本页面内的一个隐藏于父页面不跨域的iframe的hash值, 在隐藏的iframe中将值取出,同未跨域一样设置到要