Apache POI autoSizeColumn Resizes Incorrectly

前端 未结 8 941
小鲜肉
小鲜肉 2020-11-29 06:27

I\'m using Apache POI in java to create an excel file. I fill in the data then try to autosize each column, however the sizes are always wrong (and I think consiste

相关标签:
8条回答
  • 2020-11-29 07:15

    I was also running into this issue and this was my solution.

    Steps:

    1. Create workbook
    2. Create spreadsheet
    3. Create row
    4. Create/Set font to "Arial"
    5. Create/Set style with font
    6. Create/Set cell with value and style
    7. autoSizeColumn
    8. 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

    0 讨论(0)
  • 2020-11-29 07:18

    Just to make an answer out of my comment. The rows couldn't size properly because Java was unaware of the font you were trying to use this link should help if you want to install new fonts into Java so you could use something fancier. It also has the list of default fonts that Java knows.

    Glad this helped and you got your issue solved!

    0 讨论(0)
提交回复
热议问题