xia0bei 2011-05-22 15:00
浏览 1792
已采纳

POI 生成Excel时,怎么限制 单元格输入长度的限制啊?

POI 生成Excel时,怎么限制 单元格输入长度的限制啊?

  • 写回答

3条回答 默认 最新

  • iteye_8576 2011-05-22 20:20
    关注

    [code="java"] public static void main(String[] args) {
    FileOutputStream out = null;
    try {
    // excel对象
    HSSFWorkbook wb = new HSSFWorkbook();
    // sheet对象
    HSSFSheet sheet = wb.createSheet("sheet1");
    // 输出excel对象
    out = new FileOutputStream("C://test.xls");
    // 取得规则
    HSSFDataValidation validate = setValidate((short) 1,
    (short) 1, (short) 1, (short) 1);
    // 设定规则
    sheet.addValidationData(validate);
    // 输出excel
    wb.write(out);
    out.close();
    } catch (FileNotFoundException e) {
    e.printStackTrace();
    } catch (IOException e) {
    e.printStackTrace();
    } finally {
    if (out != null) {
    try {
    out.close();
    } catch (IOException e) {
    e.printStackTrace();
    }
    }
    }
    }

    public static HSSFDataValidation setValidate(short beginRow,
            short beginCol, short endRow, short endCol) {
        DVConstraint constraint = DVConstraint.createNumericConstraint(
                DVConstraint.ValidationType.TEXT_LENGTH,
                DVConstraint.OperatorType.BETWEEN, "1", "5");
        // 设定在哪个单元格生效
        CellRangeAddressList regions = new CellRangeAddressList(beginRow,
                beginCol, endRow, endCol);
        // 创建规则对象
        HSSFDataValidation ret = new HSSFDataValidation(regions, constraint);
        return ret;
    }[/code]
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 想编写一个期货跨期套利的程序
  • ¥15 UltraScale 系列 Bitslip 技术支持
  • ¥15 一个线程在sleep的时候set一个信号会起作用吗
  • ¥100 需求高精度PT100设计电路和算法
  • ¥15 单片机配网,继电器开关,广播
  • ¥60 Qcustomplot绘制实时动态曲线
  • ¥20 运用matlab画x-y图
  • ¥15 用idea运行项目,运行tomcat报错:断言失败
  • ¥15 Sqlserver查询链接服务器数据问题
  • ¥15 Bibtex4Word 引用中文文献