java 如何使用Apache POI插入换行符作为单元格的数据?

zaqlnxep  于 2023-03-28  发布在  Java
关注(0)|答案(2)|浏览(185)

我使用Apache POI 3.16创建一个Excel文件。我想将特定单元格中的数据设置为具有换行符:

rowConsommationEtRealisation.createCell(0).setCellValue("Consommation (crédits)\r\nRéalisation (produits)");

当我打开文件时,单元格的值没有linebreak!那么如何创建linebreak呢?

ha5z0ras

ha5z0ras1#

试试这个:这里

Row row = sheet.createRow(2);
Cell cell = row.createCell(2);
cell.setCellValue("Use \n with word wrap on to create a new line");

//to enable newlines you need set a cell styles with wrap=true
CellStyle cs = wb.createCellStyle();
cs.setWrapText(true);
cell.setCellStyle(cs);
mzillmmw

mzillmmw2#

它已经有了换行符,但是单元格没有显示它。你需要设置一个单元格样式,并为单元格设置换行属性。
示例:

import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

import java.io.FileOutputStream;
import java.io.IOException;

class ExcelLineBreakWrapText {

 public static void main(String[] args) throws Exception {

  Workbook workbook = new XSSFWorkbook();
  Sheet sheet = workbook.createSheet();

  CellStyle wrapStyle = workbook.createCellStyle();
  wrapStyle.setWrapText(true);

  Row row = sheet.createRow(0);

  Cell cell = row.createCell(0); 
  cell.setCellStyle(wrapStyle);
  cell.setCellValue("Consommation (crédits)\r\nRéalisation (produits)");

  sheet.autoSizeColumn(0);

  workbook.write(new FileOutputStream("ExcelLineBreakWrapText.xlsx"));
  workbook.close();

 }
}

相关问题