2

我的 excel 中有多行,除了第一行之外,其中的内容都很小。只是为了在第一行插入一个大标题,我不希望后续行的宽度受到影响。有没有一种方法可以将顶行中的内容跨越多列而不影响后续行的宽度。

4

2 回答 2

3

是的,通过使用 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);
于 2013-06-20T14:31:41.737 回答
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"));

参考文献: 第一次参考第二次参考

于 2016-08-30T14:23:11.550 回答