`
飞天小女警
  • 浏览: 107189 次
  • 性别: Icon_minigender_2
  • 来自: 重庆
社区版块
存档分类
最新评论

poi生成excel下拉菜单

阅读更多

在web开发中常用到生成excel模板,在用excel poi生成excel模板时,常用到生成excel下拉菜单。下面是生成excel下拉菜单的代码:

package poiexcel;

  import java.io.FileOutputStream;

  import java.util.Date;

  import org.apache.poi.hssf.usermodel.DVConstraint;

  import org.apache.poi.hssf.usermodel.HSSFCell;

  import org.apache.poi.hssf.usermodel.HSSFDataValidation;

  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.CellRangeAddressList;

  public class POI

  {

  public static void main(String [] args)

  {

  String [] list={"东软","华信","SAP","海辉"};

  new POI().createListBox(list);

  return;

  }

  public void createListBox (String [] list)

  {

  //文件初始化

  HSSFWorkbook wb = new HSSFWorkbook();

  HSSFSheet sheet = wb.createSheet("new sheet");

  //在第一行第一个单元格,插入下拉框

  HSSFRow row = sheet.createRow(0);

  HSSFCell cell = row.createCell(0);

  //普通写入操作

  cell.setCellValue("请选择");//这是实验

  //生成下拉列表

  //只对(0,0)单元格有效

  CellRangeAddressList regions = new CellRangeAddressList(0,0,0,0);

  //生成下拉框内容

  DVConstraint constraint = DVConstraint.createExplicitListConstraint(list);

  //绑定下拉框和作用区域

  HSSFDataValidation data_validation = new HSSFDataValidation(regions,constraint);

  //对sheet页生效

  sheet.addValidationData(data_validation);

  //写入文件

  FileOutputStream fileOut;

  try {

  fileOut = new FileOutputStream("workbook.xls");

  wb.write(fileOut);

  fileOut.close();

  } catch (Exception e) {

  // TODO Auto-generated catch block

  e.printStackTrace();

  }

  //结束

  System.out.println("Over");

  }

  }

 上面的代码中,下拉菜单的内容是在list中写死的,在开发的过程中往往是会用到“动态”生成下拉菜单的内容,在这里记录代码,一来有助于自己积累,二来将经验与大家分享:

public void downLoadModle() throws IOException, RowsExceededException, WriteException{		
          String jgId = this.getParameter("jgId");
           List<BaseTrainType> childrenList = (List<BaseTrainType>) pxlbManager.findByHql(" from BaseTrainType b where b.parentId="+pxlb+" and b.id in (select trainTypeId from OrgBaseTrainType where orgBaseId="+jgId+")");
		
          String path = "/excel模板.xls";
          String templetDire = this.getRequest().getSession().getServletContext().getRealPath("/common");
          FileInputStream finput = new FileInputStream(path);    //从工程目录下下载模板
       POIFSFileSystem pss = new POIFSFileSystem(finput);
          HSSFWorkbook workbook = new HSSFWorkbook(pss);
          //读取Sheet
          HSSFSheet sheet = workbook.getSheetAt(0);
          CellRangeAddressList regions = new CellRangeAddressList(1, 65535, 12, 12);  //excel下拉菜单作用域,例子中是第12列(从0开始)
          String [] list= new String[childrenList.size()];;
          for (int i=0;i<childrenList.size();i++) {
	list[i] =  childrenList.get(i).getTypeNum()+"-"+childrenList.get(i).getTypeName(); //加载下拉菜单中的内容
       }
           DVConstraint constraint = DVConstraint.createExplicitListConstraint(list); //将list中的内容写入到excel中
       HSSFDataValidation data_validation = new HSSFDataValidation(regions,constraint); //绑定下拉菜单和作用域
       sheet.addValidationData(data_validation); //对sheet生效
           			
           this.getResponse().setContentType("application/vnd.ms-excel");
           String fileName = URLEncoder.encode(name, "UTF-8");
           this.getResponse().setHeader("Content-Disposition","attachment; filename=" + fileName+pxbjNum+ ".xls");
           ServletOutputStream out = this.getResponse().getOutputStream(); 
           workbook.write(out);
 }

 

 

分享到:
评论
1 楼 来这里学java 2012-03-03  
很好,好好学习。

相关推荐

    poi动态生成导入模板,动态下拉菜单

    本话题聚焦于使用POI来动态生成带有下拉菜单的Excel导入模板,这在数据处理、报告生成和自动化流程中具有广泛应用。 首先,让我们深入了解Apache POI库。它提供了HSSF(Horrible Spreadsheet Format)和XSSF(XML ...

    poi 生成excel模板,下拉选项,批注。现在有模板中插入下拉信息

    在这个场景中,我们将讨论如何使用 POI 在 Java 中生成带有下拉选项和批注的 Excel 模板。 首先,我们需要理解 POI 的核心组件,如 HSSFWorkbook(用于 .xls 文件)和 XSSFWorkbook(用于 .xlsx 文件)。这些工作簿...

    Java POI下载Excel模板 Excel带有下拉框的模板

    Java POI下载Excel模板 Excel带有下拉框的模板,并有详细注释,生成exlcel的下拉框,必填项标红,数字栏位防止科学计数法,并设置Excel标题样式

    Java 使用POI生成带联动下拉框的excel表格实例代码

    Java 使用POI生成带联动下拉框的excel表格实例代码 Java 是一种广泛使用的编程语言,而 POI(Poor Obfuscation Implementation)则是一个流行的 Java 库,用于读写 Microsoft Office 文件格式,包括 Excel、Word ...

    excel文件转换为PDF,jpg,html的方法

    首先,你需要安装Apache POI库,然后编写代码读取Excel文件并使用PDF生成器如iText或Flying Saucer将其导出为PDF。 接下来,我们来看如何将Excel转换为JPG图像。这在需要将表格数据快速以图片形式分享时非常有用。...

    关于表单的导出EXCEL设计,有时需要选择性的导出表单上的某些数据的解决方案

    5. 使用库来生成Excel:在后端,可以使用各种编程语言的库来生成Excel文件,如Python的`pandas`和`openpyxl`,JavaScript的`xlsx`,Java的`Apache POI`等。这些库提供了丰富的API,能够方便地操作和格式化Excel内容...

    word和excel转html

    对于批量转换或者需要自定义转换过程的情况,可以使用编程语言,如Python的`python-docx`和`pandoc`库,或Java的Apache POI库来读取Word文档并生成HTML代码。 二、Excel转HTML 1. 使用Microsoft Excel内置功能: ...

    excel表格自由绘制边框优质资料.doc

    可以使用Apache POI库等Java库来直接生成Excel文件,提供更复杂的格式控制和功能。 下面是一个简单的JSP页面导出到Excel的示例: ```java response.setContentType("application/vnd.ms-excel"); response.set...

    NPOI使用手册,关于NPOI的操作

    - **高级功能**:如调整显示比例、设置密码保护、组合行和列、锁定列、隐藏/显示网格线、设置初始视图的行和列、数据有效性验证以及创建下拉式菜单。 **3. 项目实践** 在实际项目中,NPOI可以用于: - **基于.xls...

    SSM和EasyUI结合将数据导出表格.zip

    EasyUI则是一个基于jQuery的前端UI库,提供了丰富的组件如表格、树形结构、下拉菜单等,用于快速构建美观且响应式的用户界面。在这个项目中,EasyUI的表格组件被用来展示数据,并提供了导出功能。 数据导出到Excel...

    NOPI使用手册

    - **生成下拉式菜单**:创建数据验证,提供下拉列表供用户选择。 **8. 项目实践** 手册中给出了几个实际应用示例,如基于.xls模板生成Excel文件、生成乘法表、工资单,以及从xls文件中抽取文本和利用Excel图表。 ...

    项目_easyui导出excal.rar

    EasyUI提供了一系列的组件,如表格、下拉菜单、对话框等,使得开发者可以快速创建美观且功能丰富的用户界面。而涉及到“项目_easyui导出excel.rar”,我们可以推断这是一个使用EasyUI框架实现的项目,其功能可能是...

    推荐下载EasyUi、SpringMVC、jquery的ajax、导出Excel文件.docx

    EasyUI是一个基于jQuery的前端框架,它提供了一套丰富的UI组件,如表格、下拉菜单、对话框、按钮等,帮助开发者快速构建用户界面。EasyUI的核心理念是“易于使用”,通过简单的HTML和CSS就能创建出美观且功能强大的...

    C#实现将数据做EXCLE处理.doc

    - **基于.xls模板生成Excel文件**:利用现有模板快速生成结构化的报表。 - **生成九九乘法表**:编程生成乘法口诀表,用于教学或演示。 - **生成一张工资单**:自动生成员工工资条,方便薪资管理。 - **从xls...

    C#NOPI具体使用方法及教程资料.docx

    - **基于.xls模板生成Excel文件**:利用现有模板填充数据生成新的Excel文件。 - **生成九九乘法表**:编程自动生成乘法口诀表。 - **生成一张工资单**:创建包含员工信息和工资计算的表格。 - **从xls文件中抽取文本...

    NPOI使用手册

    - **基于.xls模板生成Excel文件**:利用已有的Excel模板进行数据填充。 - **生成九九乘法表**:使用NPOI自动化生成乘法表。 - **生成一张工资单**:创建包含员工信息和薪资的表格。 - **从xls文件中抽取文本**:...

    NPOI使用手册.doc

    1. **基于.xls模板生成Excel文件**:利用现有模板快速生成新的报表。 2. **生成九九乘法表**:使用NPOI动态创建乘法表。 3. **生成一张工资单**:自动生成包含员工信息和薪资计算的表格。 4. **从xls文件中抽取文本*...

    NPOI 中文使用开发参考手册.doc

    1. **基于.xls模板生成Excel文件** 2. **生成九九乘法表** 3. **生成一张工资单** 4. **从xls文件中抽取文本** 5. **巧妙使用Excel Chart** 6. **导入Excel文件** 在实际开发中,NPOI可以帮助开发者快速创建复杂的...

    C#NOPI具体使用方法及教程资料.pdf

    - **生成下拉式菜单**:创建数据验证规则,提供下拉列表供用户选择。 8. **项目实践** - **基于.xls 模板生成 Excel 文件**:利用现有模板填充数据。 - **生成九九乘法表**:自动化生成乘法表格。 - **生成一张...

    Java_Web开发实战1200例第1卷.part2

    17.2 下拉菜单式导航条 680 17.3 侧导航条设计 692 第18章 表单的应用 698 18.1 文本框/编辑框/隐藏域组件 699 18.2 下拉列表与菜单的应用 706 18.3 单选按钮 713 18.4 复选框 716 18.5 密码域 717 18.6 表单的应用 ...

Global site tag (gtag.js) - Google Analytics