9
{ row=sheet.createRow(0); cell=row.createCell(0); cell.setCellValue("header"); cell=row.createCell(1); sheet.addMergedRegion(new CellRangeAddress(0,0,0,1)); row=sheet.createRow(1); cell=row.createCell(0); cell.setCellValue("Keys"); cell=row.createCell(1); cell=row.setCellValue("Values"); row=sheet.createRow(2); cell=row.createCell(0); cell.setCellValue("No data"); cell=row.createCell(1); sheet.addMergedRegion(new CellRangeAddress(1,1,0,1); sheet.autoSizeColumn(0); } 

autosize is working when I merged two columns of row zero, but after merging two columns of second row autosize is not working.. thanks in advance...

2
  • Can you define "not working"? Sizes too small? Too big? No change? Commented Jul 15, 2015 at 8:21
  • no change in columns Commented Jul 16, 2015 at 5:45

1 Answer 1

20

I've spotted your problem, it's this line:

sheet.autoSizeColumn(0); 

From the javadocs on autoSizeColumn(int) we see this key bit of information:

Default is to ignore merged cells.

You need to switch to instead call autoSizeColumn(int,boolean), and pass in a true value. This will tell POI to take account of merged cells during the sizing. So, your code should instead be:

sheet.autoSizeColumn(0, true); 
Sign up to request clarification or add additional context in comments.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.