2012-08-19 8 views
7

Ich möchte die Breite der Excel-Tabelle erhöhen. wie ich schreibe trog code ist lang. und ich muss die Spalte manuell ziehen, um den vollständigen Text zu sehen.JAVA + POI API Excel- Muss die Breite der Spalte erhöhen

Ich habe diese -

HSSFRow dataRow = sampleDataSheet.createRow(0); 

HSSFCellStyle cellStyle = setHeaderStyle(sampleWorkbook); 

cellStyle.setWrapText(true); 

***sampleDataSheet.autoSizeColumn(1000000);*** 

Aber es ist nicht etwas zu ändern ..

Antwort

14

Diese funktionieren sollte. Allerdings

sampleDataSheet.autoSizeColumn(1000000); 

Spalte 1000000

Auto erweitert Wenn Sie Spalte wollen 0 (die erste Spalte) zur automatischen erweitern, zu verwenden:

sampleDataSheet.autoSizeColumn(0); 

Um die automatische erweitern Spalte 0 bis 9 (die ersten 10 Spalten):

for (int i=0; i<10; i++){ 
    sampleDataSheet.autoSizeColumn(i); 
} 

Außerdem sollten Sie alle Ihre Zeilen erstellen und sie mit Inhalt füllen zuerst, bevor y Oder rufen Sie autoSizeColumn auf (so erhält die Spalte die Breite des Werts mit der breitesten Breite).

(Wenn Sie die Spaltenbreite auf einen festen Wert gesetzt werden soll, verwenden Sie HSSFSheet.setColumnWidth (int, int) statt.)

+0

hi- Ich mache das wie diese statische HSSFSheet sampleDataSheet = sampleWorkbook.createSheet ("ABC"); sampleDataSheet.setColumnWidth (20,20); aber ich bekomme nicht das setColumnWidth methiod in der API .. pls sehen .. – smriti

+0

sampleDataSheet.autoSizeColumn (0); arbeitete für mich in der 1. Spalte danke soo viel, + 1 aber cud pls suggeriere mich für meine sampleDataSheet.setColumnWidth (20,20); query ... – smriti

12
// We can set column width for each cell in the sheet   
sheet.setColumnWidth(0, 1000); 
sheet.setColumnWidth(1, 7500); 
sheet.setColumnWidth(2, 7500); 

// By applying style for cells we can see the total text in the cell for specified width 
HSSFCellStyle cellStyle = workBook.createCellStyle(); 
cell.setCellStyle(cellStyle); 
cellStyle.setWrapText(true); 
-1

sheet.autoSizeColumn (column) arbeitet. Dadurch wird die Größe der Spalte auf die größte Zellenlänge geändert.

+1

Es berücksichtigt nur die Breite des Headers nicht den Inhalt der anderen Zelle der Spalte. – Naveen

+0

@Naveen Das ist falsch - 'autoSizeColumn' sollte die Spaltenbreite an alle Zeileninhalte anpassen. –

Verwandte Themen