2017-12-31 12 views
0

Ich benutze Apache POI 3.16, um eine Excel-Datei zu erstellen. Ich möchte die Daten innerhalb einer bestimmten Zelle setzen einen Zeilenumbruch haben:Wie wird ein Zeilenumbruch als Daten einer Zelle eingefügt?

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

Wenn ich die Datei öffnen, dann wird die Zelle Wert nicht Zeilenumbrüche hat! Also, wie man Zeilenumbrüche erstellt?

Antwort

1

Versuchen Sie folgendes: here

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); 
2

Es hat bereits den Zeilenumbruch, aber die Zelle zeigt es nicht. Sie müssen einen Zellenstil festlegen, dessen Eigenschaft "Umbruchtext" auf die Zelle festgelegt ist.

Beispiel:

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(); 

} 
} 
Verwandte Themen