I was also running into this issue and this was my solution.
Steps:
- Create workbook
- Create spreadsheet
- Create row
- Create/Set font to "Arial"
- Create/Set style with font
- Create/Set cell with value and style
- autoSizeColumn
- Create File
Code:
// initialize objects
XSSFWorkbook workbook = new XSSFWorkbook();
XSSFSheet spreadsheet = workbook.createSheet(sheetName);
XSSFRow row = spreadsheet.createRow(0);
XSSFCell cell;
// font/style
XSSFFont font = workbook.createFont();
font.setFontName("Arial");
XSSFCellStyle style = workbook.createCellStyle();
style.setFont(font);
// create/set cell & style
cell = row.createCell(0);
cell.setCellValue("New Cell");
cell.setCellStyle(style);
// auto size
spreadsheet.autoSizeColumn(0);
// create file
File aFile = new File("Your Filename");
FileOutputStream out = new FileOutputStream(aFile);
workbook.write(out);
Resources:
http://www.tutorialspoint.com/apache_poi/index.htm
需要设置字体
https://stackoverflow.com/questions/16943493/apache-poi-autosizecolumn-resizes-incorrectly
https://stackoverflow.com/questions/4611018/apache-poi-excel-how-to-configure-columns-to-be-expanded