• struts2导出excel


    //创建workbook
    HSSFWorkbook workbook = new HSSFWorkbook();
    //创建sheet页
    HSSFSheet sheet = workbook.createSheet("开票");
    //================================================================================================================================
    // //设置样式对象
    HSSFCellStyle cellStyle = workbook.createCellStyle();
    cellStyle.setFillForegroundColor(HSSFColor.TAN.index);// 设置背景色
    cellStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);//设置在上中下位置(此属性如果不设置,那么上中下左右等就不会起作用)
    cellStyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);//垂直
    cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 居中
    cellStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN); //下边框
    cellStyle.setBorderLeft(HSSFCellStyle.BORDER_THIN);//左边框
    cellStyle.setBorderTop(HSSFCellStyle.BORDER_THIN);//上边框
    cellStyle.setBorderRight(HSSFCellStyle.BORDER_THIN);//右边框

    //表头标题样式
    HSSFFont font = workbook.createFont();
    font.setFontName("黑体");
    font.setFontHeightInPoints((short) 12);//设置字体大小
    font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);//粗体显示
    cellStyle.setFont(font);//====================将字体样式添加到样式对象里
    cellStyle.setLocked(true);

    //表头样式
    HSSFFont ft = workbook.createFont();
    ft.setFontName("宋体");
    ft.setFontHeightInPoints((short) 12);// 字体大小
    HSSFCellStyle style = workbook.createCellStyle();
    style.setFillForegroundColor(HSSFColor.LEMON_CHIFFON.index);// 设置背景色
    style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);//设置在上中下位置(此属性如果不设置,那么上中下左右等就不会起作用)
    style.setBorderBottom(HSSFCellStyle.BORDER_THIN); //下边框
    style.setBorderLeft(HSSFCellStyle.BORDER_THIN);//左边框
    style.setBorderTop(HSSFCellStyle.BORDER_THIN);//上边框
    style.setBorderRight(HSSFCellStyle.BORDER_THIN);//右边框
    style.setFont(ft);
    style.setAlignment(HSSFCellStyle.ALIGN_CENTER);// 左右居中
    style.setWrapText(true); // 换行
    style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);// 上下居中
    // style.setLocked(true);

    // 普通单元格样式(中文)
    HSSFFont font2 = workbook.createFont();
    font2.setFontName("宋体");
    font2.setFontHeightInPoints((short) 12);
    HSSFCellStyle style2 = workbook.createCellStyle();
    style2.setFillForegroundColor(HSSFColor.LIGHT_TURQUOISE.index);
    style2.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);//设置在上中下位置(此属性如果不设置,那么上中下左右等就不会起作用)
    style2.setBorderBottom(HSSFCellStyle.BORDER_THIN); //下边框
    style2.setBorderLeft(HSSFCellStyle.BORDER_THIN);//左边框
    style2.setBorderTop(HSSFCellStyle.BORDER_THIN);//上边框
    style2.setBorderRight(HSSFCellStyle.BORDER_THIN);//右边框
    style2.setFont(font2);
    style2.setAlignment(HSSFCellStyle.ALIGN_CENTER);// 左右居中
    style2.setWrapText(true); // 换行
    style2.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);// 上下居中

    //==================================================================================================================================
    //创建单元格
    HSSFRow row = sheet.createRow(0); //创建第一行 ;依次往下新建行
    this.createCellTitle(row,0,"序号",cellStyle);
    this.createCellTitle(row,1,"开票单号",cellStyle);
      ....

    this.mergeCell(sheet,0, 0, 23,29);//??
    this.createCellTitle(row,23,"xxxxx",cellStyle);
    for (int k = 0; k < 23; k++)
    {
    this.mergeCell(sheet,0, 1, k, k);
    }

    row = sheet.createRow(rowIndex);
    this.createCellTitle(row,0,(i+1)+"",dataStyle);
    this.createCellTitle(row,1,info.getInvoiceNo(),dataStyle);

    ........

    /**
    * 合并单元格
    */
    public void mergeCell(HSSFSheet sheet,int firstRow,int lastRow,int firstCol,int lastCol)
    {
    CellRangeAddress address = new CellRangeAddress(firstRow, lastRow, firstCol, lastCol);
    sheet.addMergedRegion(address);
    }

  • 相关阅读:
    【WPF】wpf image控件加载网络图片不显示问题,
    【VS】vs修改大小写快捷键
    【C#】菜单功能,将剪贴板JSON内容或者xml内容直接粘贴为类
    【异常】调用的目标发生了异常
    【MySQL】函数IFNULL、设置默认时间
    【Kindle】pdf转mobi适合kindle查看格式
    【WPF】中的文字修饰——上划线,中划线,基线与下划线
    vscode使用Eslint + prettier + beautify 格式化vue 代码不换行
    Office文件转PDF
    MSSQL同步刷新视图字段长度和源表保持一致
  • 原文地址:https://www.cnblogs.com/lingding/p/10985264.html
Copyright © 2020-2023  润新知