一、前言

线上好好运行的程序突然报错:Invalid cell coordinate [A2 ,是个很偶然的错误,而且并不是整个下载功能都不能用了,只是当选择特定条件的时候才会报这个错,经过各种排查终于锁定了错误,鉴于这块可参考的文章不多,特此记录一下。

二、排查过程

1、检查格式发现无误

本来以为是加上特定搜索条件后,代码格式出现了问题,或者数据格式不符合单元格规定,不过在各种对比之后,发现并不是数据格式问题,单元格要求还是很宽松的。

2、有事没事先百度

百度发现有相同的错误,不过大家说的都是单元格到26列就会出错,但我这个是设置过AA的,也就是能承受最多26+26*26 = 702列数据 ,那么问题来了,到底现在生成的excel有多少行呢,从多少行开始就无法生成excel了呢?

3、测试生成数据列上限

减少生成excel的数量,然后逐渐增加,发现写入excel的数据到ZZ之后就没了。也就是到了我设置的702列上限了,没有设置更多的表格所以多出来的数据就出错了。行叭,看来还需要扩展成AAA--ZZZ形式的才行啊。

4、关于单元格设置AA和设置AAA的方法

private function getCellKey($cellI){$A = 65;if($cellI < 702) {$r = floor($cellI / 26);$l = $cellI % 26;if ($r == 0) {$cellPre = "";} else {$cellPre = chr($A + $r - 1);}$AStr = chr($A + $l);return $cellPre . $AStr;}else{$extraCellI = floor(($cellI -702) / 676);//第三列的第一个$centerCellI =  floor((($cellI -702) % 676) / 26);  //三列的第二列$dataCellI = (($cellI -702)  % 676) % 26;  //三列的第三列$cellPre = chr($A + $extraCellI);$center = chr($A + $centerCellI);$AStr = chr($A + $dataCellI);return $cellPre . $center . $AStr;}}
(1)$cellI 是循环数据的时候,传过来的数据列大小,就是根据这个数据列来进行判断。
(2)设置AAA,关键是要注意702这个极限值,其次是对于ABC来说,BC的临界值是26*26 = 676
所以我这里设置的时候,是取676的余数
(3)$A是设置为65,也就是A这个字母的ascii码,可以查看下:http://ascii.911cha.com/
(4)大家根据自己的逻辑设置就行,网上有很多设置AA这种形式的,代码各不一样,但是思路是一样的

5、效果图


      这里可以看到,设置完单元格之后,数据会从ZZ列直接过渡到AAA列,然后依次排序下去,这样就完美解决了问题。这段代码应该是没问题的,通过了大概的测试,如果大家有更好的代码,可以贴出来一起学习下,哈哈。

end

phpexcel设置AAA单元格,兼容大于702列数据相关推荐

  1. layui table设置表格单元格换行,固定列高度改变

    layui table设置表格单元格换行 css /** 控制表格单元格换行 **/ .layui-table-cell {height: auto;word-break: normal;displa ...

  2. Qt 设置Excel单元格文本属性

    前段时间通过Qt设置Excel的内容,每次设置 1-3 这种内容的时候,会被Excel自动转为日期格式. 后来查了一下,可以设置单元格为文本属性,显示内容与输入内容保持一致. 需要先设置单元格的格式再 ...

  3. layui的table表格在同一单元格换行显示2个数据(layui-table)

    转自:https://blog.csdn.net/qq15577969/article/details/104109430 先看一下最终效果图: 查看全文 http://www.taodudu.cc/ ...

  4. php单元格字体颜色,PHPExcel API接口用法大全,按模板导入excel,美化excel,导出图片,设置单元格字体颜色背景色边框,合并单元格,设置行高列宽...

    PHPExcel API接口用法大全,按模板导入excel,美化excel,导出图片,设置单元格字体颜色背景色边框,合并单元格,设置行高列宽 2020-08-31 85 一:读取excel表模板$ph ...

  5. c++设置单元格填充色_更改数据后单元格自动填充颜色,从此以后再也不用核对数据了...

    Hello,大家好,今天跟大家分享下如何实现更改数据后自动填充颜色.工作中我们每个人几乎都会遇到数据核对的问题,如果数据稀少核对起来还比较快,但是如果数据很多核对起来就会很浪费时间,但是如果我们对表格 ...

  6. 使用POI创建word表格合并单元格兼容wps

    poi创建word表格合并单元格代码如下: /** * @Description: 跨列合并 */ public void mergeCellsHorizontal(XWPFTable table, ...

  7. PHPExcel 怎样在单元格里画出斜线边框

    两种方法可以实现,比如你要在单元格A1和B2两个单元格画斜线. 第一种方法: $objPHPExcel->getActiveSheet()->getStyle('A1')->getB ...

  8. POI按照源单元格设置目标单元格格式

    原文:http://jjw198874.blog.163.com/blog/static/1889845522011102401854234/ POI按照源单元格设置目标单元格格式 poi按照一个源单 ...

  9. 在GridView中设置每个单元格的数据

    在GridView中设置每个单元格的数据 今天做后台开发时,需要实现一个需求是在GridView渲染出来的显示数据的表格中增加一列数据:状态列.增加一列数据是比较简单的,但是,状态的表示在数据库中使用 ...

最新文章

  1. 比PCA更好用的监督排序—LDA分析、作图及添加置信-ggord
  2. vue-axios 安装和应用
  3. 看我如何作死 | 网络延迟、网络丢包、网络中断一个都没落下过
  4. mycat和应用程序集成_企业应用程序集成简介
  5. Spring MVC表单验证
  6. 将连接数据库的地址写在web.config里面,后台直接调用
  7. Yii框架官方教程增补篇3——开始:创建第一个Yii应用
  8. yourphp超出20记录自动删除
  9. 修改常见服务器的banner
  10. 创建图表_三种建立Excel图表的方法,谁用谁知道
  11. multimap容器查找元素的三种方法总结
  12. 多电压等级计算机潮流计算,电力系统潮流计算
  13. 初中计算机课件flash,初中数学flash课件(共100个)
  14. vb.net视频总结
  15. 计算机网络阶段,计算机网络发展的四个阶段
  16. 关于Mysql插入繁体字等特殊字符显示异常及查询异常
  17. 各种风格登录页响应式html5模板 Admin后台管理系统模板手机wap登录页html模板html会员登录页面模板源码70多套高大尚响应式网站模板html5网页静态模板Bootstrap扁平化网站源码
  18. 关于矩形的边框,以及边框线偶尔不显示的问题
  19. tinymce编辑器实现视频上传功能
  20. 【推免】保研记(东华计院+吉大软院+东北计院+东南计院+浙大软院+川大计院+上科信院)

热门文章

  1. 清华大学 唐杰 计算机学院 怎么样,我国首位原创虚拟学生,后期希望“她”能够像人一样进行创新...
  2. 半年总结(2018-10)
  3. PCL学习笔记,区域生长分割(region growing segmentation)
  4. opencv dnn 人脸 年龄
  5. cv2.circle函数
  6. CornerNet 测试:
  7. Inception GoogLeNet
  8. numpy.ravel() vs numpy.flatten()
  9. github样式错乱 解决
  10. matlab傅里叶变换矩阵