自定义范围值

示例

单元格数据验证类型为整数,约束条件为范围,最小值为1,最大值为10。所以单元格A1的值必须为整数,并且在1~10之间(包括1和10)。

  1. $config = [
  2. 'path' => './'
  3. ];
  4. $validation = new \Vtiful\Kernel\Validation();
  5. $validation->validationType(\Vtiful\Kernel\Validation::TYPE_INTEGER)
  6. ->criteriaType(\Vtiful\Kernel\Validation::CRITERIA_BETWEEN)
  7. ->minimumNumber(1)
  8. ->maximumNumber(10);
  9. $excel = new \Vtiful\Kernel\Excel($config);
  10. $filePath = $excel->fileName('tutorial.xlsx')
  11. ->header(['Value'])
  12. ->validation('A1', $validation->toResource())
  13. ->insertText(0, 0, 20) // 不符合约束,并不会写入失败,打开文件时单元格旁边将会出现数据错误提示
  14. ->output();

范围约束 - 图1

范围值取自单元格

示例

单元格数据验证类型为整数,约束条件为范围,最小值为A1单元格值,最大值为B1单元格值。所以单元格C1的值必须为整数,并且在1~10之间(包括1和10)。

  1. $config = [
  2. 'path' => './'
  3. ];
  4. $validation = new \Vtiful\Kernel\Validation();
  5. $validation->validationType(\Vtiful\Kernel\Validation::TYPE_INTEGER)
  6. ->criteriaType(\Vtiful\Kernel\Validation::CRITERIA_BETWEEN)
  7. ->minimumFormula('=A1')
  8. ->maximumFormula('=B1');
  9. $excel = new \Vtiful\Kernel\Excel($config);
  10. $filePath = $excel->fileName('tutorial.xlsx')
  11. ->header([1, 10])
  12. ->validation('C1', $validation->toResource())
  13. ->insertText(0, 2, 20)
  14. ->output();