2 u012532177 u012532177 于 2013.10.23 14:49 提问

请问在java中做导出的时候应该怎么实现下拉列表框

这里我给出了我的java源码 望各位大神仔细看看 小弟在此谢谢了
下面这段代码实现的效果是这样
CSDN移动问答

而我想实现的效果是这样的 如图
在计价方式那 有3个选项 可以进行下拉选择的
CSDN移动问答

```ruby #这里可以指定高亮语言类型#
package com.devsun.action.pm.room;

import java.util.List;

import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFFont;
import org.apache.poi.hssf.usermodel.HSSFRichTextString;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.util.CellRangeAddress;
import org.apache.poi.hssf.util.HSSFColor;
import org.springframework.beans.factory.annotation.Autowired;

import com.devsun.action.BaseAction;
import com.devsun.biz.pm.BuildingBiz;
import com.devsun.biz.pm.HouseTypeBiz;
import com.devsun.biz.pm.ProjectBiz;
import com.devsun.biz.pm.RoomInfoBiz;
import com.devsun.common.Constants;
import com.devsun.entity.pm.RoomInfo;
import com.dongdong.plugins.permissions.PermissionsAnnotation;

/**

  • 导出房间面积/价格设置
  • @author zhangyan
    *
    */
    public class ZhangYanAction extends BaseAction {

    private static final long serialVersionUID = -940973448889670031L;

    @Autowired

    private RoomInfoBiz roomInfoBiz; //这个是自己获得list的类

    @Autowired
    private ProjectBiz projectBiz;//这个是自己获得list的类

    @Autowired
    private BuildingBiz BuildingBiz;//这个是自己获得list的类

    @Autowired
    private HouseTypeBiz houseTypeBiz;//这个是自己获得list的类

    // 楼栋Id
    private int buildingid;

    //导出排序
    private int paishu = 0 ;

    @PermissionsAnnotation(name="导出房间面积/价格设置")
    public String execute() throws Exception {
    List listRoom = roomInfoBiz.daochu(buildingid,paishu);

    // 创建excel
    int i = 0; int j = 0;
    for(RoomInfo info:listRoom){
    i = info.getProjectId();
    j = info.getBuildingId();
    break;
    }
    String pro = "项目:"+ projectBiz.findById(i).getProjectName()+"--楼栋:"+BuildingBiz.findById(j).getBuildingName();;
    String name = pro+"--房间面积价格设置";

    //以上都是获得导出excel名字
    
    downLoadFile(createExcel(listRoom, name), "房间面积/价格设置.xls");
    return null;
    

    }

    /**

    • 创建excel标题
    • @param academyList
    • @param title
    • @param resultMap
    • @return
    • @throws Exception
      */
      public HSSFWorkbook createExcel(List listRoom, String title)throws Exception {
      try {
      HSSFWorkbook wb = new HSSFWorkbook();
      HSSFSheet sheet = wb.createSheet();
      wb.setSheetName(0, title);
      HSSFRow titleRow = sheet.createRow(0);
      HSSFRow head = sheet.createRow(1);
      // 创建标题
      createTitle(wb, titleRow, title);
      createCell(wb, head, 0, "编号",HSSFColor.GREY_25_PERCENT.index);
      createCell(wb, head, 1, "单元",HSSFColor.GREY_25_PERCENT.index);
      createCell(wb, head, 2, "楼层",HSSFColor.GREY_25_PERCENT.index);
      createCell(wb, head, 3, "号码",HSSFColor.GREY_25_PERCENT.index);
      createCell(wb, head, 4, "房间号码",HSSFColor.GREY_25_PERCENT.index);
      createCell(wb, head, 5, "户型构成",HSSFColor.GREY_25_PERCENT.index);
      createCell(wb, head, 6, "预售套内面积(㎡)",HSSFColor.RED.index);
      createCell(wb, head, 7, "预售建筑面积(㎡)",HSSFColor.RED.index);
      createCell(wb, head, 8, "计价方式",HSSFColor.RED.index);
      createCell(wb, head, 9, "底单价(元)",HSSFColor.RED.index);
      createCell(wb, head, 10, "底总价(元)",HSSFColor.RED.index);
      createCell(wb, head, 11,"表单价(元)",HSSFColor.RED.index);
      createCell(wb, head, 12, "表总价(元)",HSSFColor.RED.index);
      createCell(wb, head, 13, "门牌号",HSSFColor.RED.index);
      createCell(wb, head, 14, "销售状态",HSSFColor.GREY_25_PERCENT.index);
      sheet.addMergedRegion(getCellRangeAddress(1, 1, 1, 15));
      int row=2;//行的记录数
      int index=0;
      if(listRoom!=null &&listRoom.size()>0){
      for (RoomInfo roomInfo : listRoom){
      HSSFRow bodyRow = sheet.createRow(row++);
      index++;
      String jijia = "";
      String sellStatus = "";
      String menpaihao = ""; //这3个值我把他精简了 获取比较复杂

              createCell(wb, bodyRow, 0, String.valueOf(roomInfo.getId()), HSSFColor.WHITE.index);//编号  
              createCell(wb, bodyRow, 1, roomInfo.getUtil()+"单元",HSSFColor.WHITE.index);//单元
              createCell(wb, bodyRow, 2, String.valueOf(roomInfo.getStorey()),HSSFColor.WHITE.index);//楼层
              createCell(wb, bodyRow, 3, roomInfo.getNum(),HSSFColor.WHITE.index);//号码
              createCell(wb, bodyRow, 4, roomInfo.getRoomNum(),HSSFColor.WHITE.index);//房间号码
              createCell(wb, bodyRow, 5, houseTypeBiz.findHouseType(roomInfo.getHoseTypeId()),HSSFColor.WHITE.index);//户型
              createCell(wb, bodyRow, 6, String.valueOf(roomInfo.getPlanSaleIndoorArea()),HSSFColor.WHITE.index);//预售套内
              createCell(wb, bodyRow, 7, String.valueOf(roomInfo.getPlanSaleBuildingArea()),HSSFColor.WHITE.index);//预售建筑
              createCell(wb, bodyRow, 8, jijia,HSSFColor.WHITE.index);//计价方式
              createCell(wb, bodyRow, 9, String.valueOf(roomInfo.getBottomPrice()),HSSFColor.WHITE.index);//表单价
              createCell(wb, bodyRow, 10, String.valueOf(roomInfo.getBottomTotal()),HSSFColor.WHITE.index);//表总价
              createCell(wb, bodyRow, 11, String.valueOf(roomInfo.getPrice()),HSSFColor.WHITE.index);//底单价
              createCell(wb, bodyRow, 12, String.valueOf(roomInfo.getTotalPrice()),HSSFColor.WHITE.index);//底总价
              createCell(wb, bodyRow, 13, menpaihao,HSSFColor.WHITE.index);//门牌号
              createCell(wb, bodyRow, 14, sellStatus,HSSFColor.WHITE.index);//销售状态
          }
          // 设置列宽
          sheet.setColumnWidth(0, 3000);// 单位
          sheet.setColumnWidth(1, 3000);// 单位
          sheet.setColumnWidth(2, 3000);// 单位
          sheet.setColumnWidth(3, 3000);// 单位
          sheet.setColumnWidth(4, 3000);// 单位
          sheet.setColumnWidth(5, 3000);// 单位
          sheet.setColumnWidth(6, 5000);// 单位
          sheet.setColumnWidth(7, 5000);// 单位
          sheet.setColumnWidth(8, 3000);// 单位
          sheet.setColumnWidth(9, 4000);// 单位
          sheet.setColumnWidth(10, 4000);// 单位
          sheet.setColumnWidth(11, 4000);// 单位
          sheet.setColumnWidth(12, 4000);// 单位
          sheet.setColumnWidth(13, 3000);// 单位
          sheet.setColumnWidth(14, 3000);// 单位
      }
      return wb;
      

      } catch (Exception e) {
      e.printStackTrace();
      }
      return null;
      }

    /**

    • @功能:创建标题
    • @param wb
    • @param titleRow
    • @param title */ private void createTitle(HSSFWorkbook wb, HSSFRow titleRow, String title) { titleRow.setHeight((short) 600); HSSFCell cell = titleRow.createCell(0); HSSFRichTextString h = new HSSFRichTextString(title); // 字体样式 HSSFFont font = wb.createFont(); font.setColor(HSSFColor.BLACK.index); font.setFontHeightInPoints((short) 18); font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD); h.applyFont(font); cell.setCellValue(h); cell.setCellStyle(getCellDefaultStyle(wb,HSSFColor.WHITE.index)); }

    /**

    • @功能:获取单元格默认样式
    • @param wb
    • @return */ private HSSFCellStyle getCellDefaultStyle(HSSFWorkbook wb,short color) { // 设置单元格样式 HSSFCellStyle cellstyle = wb.createCellStyle(); cellstyle.setAlignment(HSSFCellStyle.ALIGN_CENTER_SELECTION);// 设置水平对齐方式 cellstyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);// 设置垂直对齐方式 cellstyle.setFillForegroundColor(color); cellstyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND); cellstyle.setBorderBottom(HSSFCellStyle.BORDER_THIN); cellstyle.setBorderLeft(HSSFCellStyle.BORDER_THIN); cellstyle.setBorderRight(HSSFCellStyle.BORDER_THIN); cellstyle.setBorderTop(HSSFCellStyle.BORDER_THIN); cellstyle.setAlignment(HSSFCellStyle.ALIGN_CENTER); cellstyle.setWrapText(true); return cellstyle; }

    /**

    • @功能:创建cell
    • @param wb
    • @param row
    • @param col
    • @param val */ private void createCell(HSSFWorkbook wb, HSSFRow row, int col, String val,short color) { HSSFCell cell = row.createCell(col); cell.setCellValue(val); if(val!=null){ System.out.println(val); if(!val.endsWith(".00")&&!val.endsWith(".000")){ cell.setCellStyle(getCellDefaultStyle(wb,color)); }else{ cell.setCellStyle(getCellMoneyStyle(wb,color)); } }else{ cell.setCellStyle(getCellDefaultStyle(wb,color)); }

    }

    private HSSFCellStyle getCellMoneyStyle(HSSFWorkbook wb,short color) {
    // 设置单元格样式
    HSSFCellStyle cellstyle = wb.createCellStyle();
    cellstyle.setAlignment(HSSFCellStyle.ALIGN_RIGHT);// 设置水平对齐方式
    cellstyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);// 设置垂直对齐方式
    cellstyle.setFillForegroundColor(color);
    cellstyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
    cellstyle.setBorderBottom(HSSFCellStyle.BORDER_THIN);
    cellstyle.setBorderLeft(HSSFCellStyle.BORDER_THIN);
    cellstyle.setBorderRight(HSSFCellStyle.BORDER_THIN);
    cellstyle.setBorderTop(HSSFCellStyle.BORDER_THIN);
    cellstyle.setAlignment(HSSFCellStyle.ALIGN_RIGHT);
    cellstyle.setWrapText(true);
    return cellstyle;
    }

    @SuppressWarnings("deprecation")
    private CellRangeAddress getCellRangeAddress(int startRow, int endRow,
    int startColumn, int endColumn) {
    return new CellRangeAddress(startRow - 1, endRow - 1, startColumn - 1,
    endColumn - 1);
    }

    public int getBuildingid() {
    return buildingid;
    }

    public void setBuildingid(int buildingid) {
    this.buildingid = buildingid;
    }

    public int getPaishu() {
    return paishu;
    }

    public void setPaishu(int paishu) {
    this.paishu = paishu;
    }

}




Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
jsp中下拉列表框的一种实现思路
SelBoxManager.javaimport java.util.ArrayList;import java.util.List;import javax.servlet.jsp.PageContext;import org.apache.struts.util.LabelValueBean;public class SelBoxManager { public static
tree view
请问这个tree view怎么实现
java word导出功能实现
实现java中导出一定模板格式的word文档,支持word2003.
JAVA实现EXL的导入导出功能
有过经验的程序猿都写过exl表格的导入导出功能!而大部分人都没抽时间去研究功能实现的细节,只是一味的为实现功能而写代码!今天也抽点时间对实现exl表格的 导入导出做个小结,针对JAVA开发! 一、EXL导入功能: (1)、实现步骤: a、通过流获取指定文件中的exl工作薄 b、遍历工作薄中的工作表 c、遍历工作表中的行 d、遍历工作表中的行中的列 e、判断指定单元表格中值得类型并获
Java程序设计(十五)----用户在对话框下拉列表中选择的为显示文本区中的文本
* 程序的版权和版本声明部分 * Copyright (c) 2012, 烟台大学计算机学院学生 * All rights reserved. * 作 者: 刘镇 * 完成日期: 2012 年 11 月 25 日 * 版 本 号: 2.015 * 对任务及求解方法的描述部分 * 问题描述:编写一个FontFamily类,该类对象获取当前机器可用的全部字体名称。编写一
软件需求分析过程和注意事情
如要介绍做软件需求分析的时候应该怎么做如何做,怎么猜能做好需求分析
javascript实现下拉列表框选择时另一下拉列表框的值相应变化
New Document    山东省  辽宁省      济南市  青岛市   function selectCity() {    //var   obj=document.getElementById("b");       for(var   k=0;k  {                    b.options.remove(b[k]);      //删除所有b下
JSP中动态生成下拉框内容的四种方式
一、使用servlet获取数据后跳入jsp页面 先从biz层调方法获取数据库数据存入vo对象,使用setAttribute方法向JSP页面传递vo对象 package cn.hnpi.jdbcweb.servlet; import java.io.IOException; import java.util.List; import javax.servlet.ServletExceptio
java的下拉框选择
http://www.51zxw.net/show.aspx?id=30321&cid=434 以上是我要自学网的视频教程,主要的东西我写了一下 一、不带滚动条的下拉框 String[] jgg={"北","上","广"}; JComboBox jg=new JComboBox(jgg); 效果: 二、带滚动条的下拉框 1) String[] xmm={"北
JSP实现下拉列表
获取数据库中的值:  (1),           selected>星期一           selected>星期二           selected>星期三           selected>星期四           selected>星期五           selected>星期六           selected>星期日           (2).if(a.