【问题标题】:How to rotate text in a spreadsheet cell using Apache POI?如何使用 Apache POI 旋转电子表格单元格中的文本?
【发布时间】:2010-11-10 15:18:00
【问题描述】:

如何在 Apache POI 的 HSSFCell 类中旋转文本?

【问题讨论】:

    标签: java apache excel api spreadsheet


    【解决方案1】:

    使用 HSSFCellStyle,该类有一个名为 setRotation(short rotation) 的方法,它将旋转文本。您所做的就是将单元格样式应用于单元格:

    HSSFCellStyle myStyle = workbook.createCellStyle();
    myStyle.setRotation((short)90);
    
    HSSFCell c = row.createCell(columnNumber);
    c.setCellStyle(myStyle);
    

    【讨论】:

    • setRotation 中的 int 参数应强制转换为 short。
    【解决方案2】:
    CellStyle cssVertical = wb.createCellStyle();
    cssVertical.setFont(f);
    cssVertical.setRotation((short)90);
    

    【讨论】:

      【解决方案3】:
      XSSFWorkbook workbook = new XSSFWorkbook();
      XSSFSheet sheet = workbook.createSheet();
      XSSFRow row = sheet.createRow(1);
      XSSFCell cell = row.createCell(1);
      
      XSSFCellStyle cs = workbook.createCellStyle();
      cs.setRotation((short) 90);              // set text rotation
      cs.getStyleXf().setApplyAlignment(true); // <<< Important
      
      cell.setCellValue("Vertical Text");
      cell.setCellStyle(cs);
      
      workbook.write(new FileOutputStream("out.xlsx"));
      

      Apache POI 3.17,需要在cellXfs部分手动添加alignment="true"属性。

      【讨论】:

        猜你喜欢
        • 2019-07-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多