6
回答
JFinal Extensions导出excel时怎么设置标题
利用AWS快速构建适用于生产的无服务器应用程序,免费试用12个月>>>   
就是excel中最上面的那种标题.
举报
圣杰是也
发帖于4年前 6回/233阅
共有6个答案 最后回答: 4年前

已经解决,特来说一下,谢谢@绝望的八皮 ,根据poiKit自己重新写了一下.

自己写了个创建头部信息的方法.:

public void createNormalHead(String headString, int colSum) {
HSSFRow row = sheet.createRow(0);
// 设置第一行
HSSFCell cell = row.createCell(0);
row.setHeight((short) 400);
// 定义单元格为字符串类型
cell.setCellType(HSSFCell.ENCODING_UTF_16);
cell.setCellValue(new HSSFRichTextString(headString));
// 指定合并区域
sheet.addMergedRegion(new Region(0, (short) 0, 0, (short) colSum));
HSSFCellStyle cellStyle = wb.createCellStyle();
cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 指定单元格居中对齐
cellStyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);// 指定单元格垂直居中对齐
cellStyle.setWrapText(true);// 指定单元格自动换行

// 设置单元格字体
HSSFFont font = wb.createFont();
font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
font.setFontName("微软雅黑");
font.setFontHeight((short) 300);
cellStyle.setFont(font);
cell.setCellStyle(cellStyle);
}

这样将上面标题设置占行多点,3行即可. 下面根据poiKit的

将row = sheet.createRow(0);

改为row = sheet.createRow(headerRow);

下面list的数据使用headerRow+1就可以了.

--- 共有 1 条评论 ---
绝望的八皮来晚了..恩很好这样.另外你可以看看jxls的方式,这个相当于是excel模板,就非常自由,和写freemaker,jsp等差不多.就没这么纠结.. 4年前 回复

我看了下代码,没有看到设置标题的地方,但是我将源码下载下来,用maven编译完成之后,在target里面编译处理的xml中,看到了Employees 的标题.请问是怎么做到的..急啊; @绝望的八皮

你是指的是啥标题啊?sheet的标题?

另外有poi和jxls两种方式,你是用的哪个?

--- 共有 1 条评论 ---
圣杰是也不好意思,太着急了,没说清楚,我用的是poi,不是sheet的标题,是那种excel 的前几行不写数据,只写个标题,例如: XXX用户信息表 请问,poi的能实现吗,jxls如果可以的话,我可试试. 4年前 回复




 测试代码里面有例子 ,你说的是指定headers吧

    

String[] headers = new String[] { "电话号码", "设备id", "imsi", "最后上线时间" };

    public void columns() {
        List<Object> data = Lists.newArrayList();
        for (int i = 0; i < 5; i++) {
            Map<String, Object> map = getMap(i);
            data.add(map);
        }
        render(PoiRender.me(data).fileName("your_file_name.xls").headers(headers).cellWidth(5000).headerRow(2));
    }

引用来自“绝望的八皮”的评论




 测试代码里面有例子 ,你说的是指定headers吧

    

String[] headers = new String[] { "电话号码", "设备id", "imsi", "最后上线时间" };

    public void columns() {
        List<Object> data = Lists.newArrayList();
        for (int i = 0; i < 5; i++) {
            Map<String, Object> map = getMap(i);
            data.add(map);
        }
        render(PoiRender.me(data).fileName("your_file_name.xls").headers(headers).cellWidth(5000).headerRow(2));
    }

你好,例子我看过,但是还不是我想要的..不好意思.我截图看一下,我要的就是那个"学生信息表"的标题
--- 共有 1 条评论 ---
圣杰是也@绝望的八皮 .麻烦了. 4年前 回复
顶部