2013-03-20 2 views
2

У меня есть несколько строк в моем excel, где содержимое мало, за исключением верхней строки. Для того, чтобы вставить большой заголовок в верхнюю строку, мне не хотелось бы, чтобы на ширину последующих строк влияли. Есть ли способ, которым я могу охватить содержимое в верхней строке по нескольким столбцам и не влияя на ширину последующих строк.JXL Column Span

ответ

2

Да, используя метод WritableSheet.mergeCells.

Например:

WritableWorkbook w = Workbook.createWorkbook(outputStream); 
WritableSheet s = w.createSheet("MySheet", 0); 
int row = 0; 

WritableCell titleCell = new Label(0, row, "Hello World"); 
s.addCell(titleCell); 
s.mergeCells(0, row, 13, row); 

Это имеет эффект создания первой строки будет 13 ячеек в ширину и не будет влиять на ширину ячейки последующих строк. Обратите внимание: это позволит вам объединить строки, но это не сработает. Правильный способ изменения высоты строки:

/* Row heights are in 20ths of a point */ 
int fontPointSize = 16; 
int rowHeight = (int) ((1.5d * fontPointSize) * 20); 
s.setRowView(row, rowHeight, false); 
1

Это возможно, поиграйте с этим. Надеюсь, это поможет вам.

int col1 = 0; 
int col2 = 2; 
int row1 = 0; 
int row2 = 0; 

WritableWorkbook workbook = Workbook.createWorkbook(outputStream); 
WritableSheet sheet = workbook.createSheet("MySheet", 0); 
sheet.mergeCells(col1,row1,col2,row2); 
//This makes the cell at row1 and col1 span the next two cells 
//Write content at the marge cell 
sheet.addCell(new Label(col1,row1,"Content here")); 

Ссылки: first reference и socond reference