iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >PHPSpreadsheet导出Excel超过26列怎么办
  • 938
分享到

PHPSpreadsheet导出Excel超过26列怎么办

2023-06-26 05:06:08 938人浏览 八月长安
摘要

小编给大家分享一下PHPSpreadsheet导出excel超过26列怎么办,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!excel 行列表示方式xexcel 的列的表示规则从 A,B,C 一直到 Z,当超过 26 个字母

小编给大家分享一下PHPSpreadsheet导出excel超过26列怎么办,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

excel 行列表示方式

  • xexcel 的列的表示规则从 A,B,C 一直到 Z,当超过 26 个字母的时候用两个字母进行表示:AA,AB,AC…AZ,BA,BB,BC…BZ…,当超过 702 时又是另外一个种表示方法。

  • 行的表示就是 1,2,3,4,5,6,7…. 这样下去。在 phpexcel 中要设一个单元格的值通过 setCellValue 方法就可以了,其中第一个参数表示列和行的拼接的值,如:A1,B1,AA1,BA1 这样。

知道这个之后,只要根据 $i/26 的整数部分和模部分计算出列的表示字母就可以了。

下面是解决方法

<?phpnamespace AppLibrariesExcel;use PhpOfficePhpSpreadsheetCellDataType;use PhpOfficePhpSpreadsheetSpreadsheet;use PhpOfficePhpSpreadsheetWriterXlsx;class Export{    protected $data_type;    protected $spread_sheet;    protected $x_lsx;    public function __construct(DataType$data_type, Spreadsheet$spread_sheet, Xlsx$x_lsx)    {        $this->data_type= $data_type;        $this->spread_sheet= $spread_sheet;        $this->x_lsx= $x_lsx;    }        public function export($field_name,$data,$field_column,$file_name,$field_numeric_keys= [])    {        @ob_clean();        if (empty($field_name)|| empty($field_column)|| empty($data)|| empty($file_name))return false;        $sheet= $this->spread_sheet->getActiveSheet();        //设置header        $i= 0;        foreach ($field_name as $value) {            $cellName= self::stringFromColumnIndex($i). "1";            $sheet->setCellValue($cellName, $value)->calculateColumnWidths();            $sheet->getColumnDimension(self::stringFromColumnIndex($i))->setWidth(15);            $i++;        }        //设置value        $len= count($field_column);        foreach ($data as $key=> $item) {            $row= 2 + ($key* 1);            for ($i= 0; $i< $len; $i++) {                $sheet->setCellValueExplicit(self::stringFromColumnIndex($i). $row, $item[$field_column[$i]]??"", DataType::TYPE_STRING);                if (isset($item[$field_column[$i]])&& !empty($field_numeric_keys)&& in_array($field_column[$i],$field_numeric_keys)) {                $sheet->setCellValueExplicit(self::stringFromColumnIndex($i). $row, $item[$field_column[$i]]??"", DataType::TYPE_NUMERIC);                }            }        }        $writer= new Xlsx($this->spread_sheet);        header('Content-Type: application/vnd.openxmlfORMats-officedocument.spreadsheetml.sheet');//告诉浏览器输出07Excel文件        header('Content-Disposition: attachment;filename="' . $file_name . '.xlsx"');//告诉浏览器输出浏览器名称        header('Cache-Control: max-age=0');        $writer->save('php://output');        @ob_flush();        @flush();        exit;    }        public static function stringFromColumnIndex($pColumnIndex = 0)    {        static $_indexCache= array();        if (!isset($_indexCache[$pColumnIndex])) {            if ($pColumnIndex < 26) {                $_indexCache[$pColumnIndex]= chr(65 + $pColumnIndex);            }elseif ($pColumnIndex < 702) {                $_indexCache[$pColumnIndex]= chr(64 + ($pColumnIndex / 26)). chr(65 + $pColumnIndex % 26);            }else {                $_indexCache[$pColumnIndex]= chr(64 + (($pColumnIndex - 26)/ 676)). chr(65 + ((($pColumnIndex - 26)% 676)/ 26)). chr(65 + $pColumnIndex % 26);            }        }        return $_indexCache[$pColumnIndex];    }}

看完了这篇文章,相信你对“PHPSpreadsheet导出Excel超过26列怎么办”有了一定的了解,如果想了解更多相关知识,欢迎关注编程网PHP编程频道,感谢各位的阅读!

--结束END--

本文标题: PHPSpreadsheet导出Excel超过26列怎么办

本文链接: https://www.lsjlt.com/news/306996.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • PHPSpreadsheet导出Excel超过26列怎么办
    小编给大家分享一下PHPSpreadsheet导出Excel超过26列怎么办,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!excel 行列表示方式xexcel 的列的表示规则从 A,B,C 一直到 Z,当超过 26 个字母...
    99+
    2023-06-26
  • js导出Excel表格超出26位英文字符怎么办
    这篇文章将为大家详细讲解有关js导出Excel表格超出26位英文字符怎么办,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。这个需要对Excel表格的表头编码规则有所了解,目...
    99+
    2024-04-02
  • 使用PhpSpreadsheet怎么导入导出Excel
    这篇文章给大家介绍使用PhpSpreadsheet怎么导入导出Excel,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。phpspreadsheet 引入由于PHPExcel早就停止更新维护,所以适用phpspreads...
    99+
    2023-06-15
  • phpspreadsheet导出excel自动获得列,数字下标
    安装composer require phpoffice/phpspreadsheetuse PhpOffice\PhpSpreadsheet\Spreadsheet;use PhpOffice\PhpSpreadsheet\Writer\...
    99+
    2023-09-05
    excel 服务器 数据库
  • mysql导出excel失败怎么办
    mysql中导出excel失败的解决方法方法一:使用select * into方法对Excel进行导出首先,在命令行中启动MySQL服务;service mysql startMySQL服务启动后,在命令行中输入mysql用户名和...
    99+
    2024-04-02
  • phpmyadmin怎么导出excel
    通过 phpmyadmin 导出数据到 excel 格式:登录 phpmyadmin 后,选择要导出的数据库和表格。点击“导出”选项,在“格式”下拉菜单中选择“excel”。自行选择导出...
    99+
    2024-04-08
    phpmyadmin
  • PHP使用PhpSpreadsheet实现导出Excel时带下拉框列表 (可支持三级联动)
    因项目需要导出Excel表   需要支持下拉   且 还需要支持三级联动功能  目前应为PHPExcel 不在维护,固采用 PhpSpreadsheet 效果如图:  第一步:首先 使用composer 获取PhpSpreadsheet ...
    99+
    2023-09-03
    excel
  • Java通过导出超大Excel文件解决内存溢出问题
    前言 将业务数据导出到Excel表中,导出任务数据量较大时,导出的项目就会内存溢出,本文通过Java操作Poi的SXSSFWorkbook类进行导出,解决内存溢出问题。 1.采用Po...
    99+
    2024-04-02
  • C#中怎么使用Npoi导出Excel合并行列
    这篇文章主要讲解了“C#中怎么使用Npoi导出Excel合并行列”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C#中怎么使用Npoi导出Excel合并行列”吧!现在用Npoi导出Excel,...
    99+
    2023-06-29
  • POI导出Excel报错No such file or directory怎么办
    这篇文章主要为大家展示了“POI导出Excel报错No such file or directory怎么办”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“POI导出Excel报错No such f...
    99+
    2023-05-30
    poi excel
  • PHP怎么高效导出Excel
    小编给大家分享一下PHP怎么高效导出Excel,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!php的框架有哪些php的框架:1、Laravel,Laravel是一...
    99+
    2023-06-15
  • Vue怎么导出Excel功能
    这篇文章主要讲解了“Vue怎么导出Excel功能”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Vue怎么导出Excel功能”吧!1.前端主导流程:1.点击页...
    99+
    2024-04-02
  • pycharm导包超时怎么办
    pycharm 导包超时解决方案:检查网络连接,确保连接稳定。调整 pip 配置,增加超时时间。禁用安全连接。升级 pycharm 到最新版本。使用离线安装文件进行手动安装。重新安装 p...
    99+
    2024-04-25
    python pycharm
  • 石墨文档Excel怎么导出
    本篇内容介绍了“石墨文档Excel怎么导出”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!石墨文档Excel导出的方法:打开石墨文档点击右上角...
    99+
    2023-07-01
  • 怎么用vue导出excel表格
    这篇文章主要介绍了怎么用vue导出excel表格的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么用vue导出excel表格文章都会有所收获,下面我们一起来看看吧。一、安装vue-json-excelnpm&n...
    99+
    2023-06-30
  • mongodb怎么导出数据为excel
    要将 MongoDB 数据导出为 Excel,你可以按照以下步骤进行操作:1. 在 MongoDB 中编写一个查询来获取要导出的数据...
    99+
    2023-08-31
    mongodb excel
  • React怎么实现导入导出Excel文件
    这篇文章主要介绍“React怎么实现导入导出Excel文件”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“React怎么实现导入导出Excel文件”文章能帮助大家解决问题。表示层这里我是使用的是ant...
    99+
    2023-06-05
  • Java怎么实现Excel导入导出操作
    今天小编给大家分享一下Java怎么实现Excel导入导出操作的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。1. 功能测试1....
    99+
    2023-06-29
  • ASP.Net MVC怎么利用NPOI导入导出Excel
    今天小编给大家分享一下ASP.Net MVC怎么利用NPOI导入导出Excel的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了...
    99+
    2023-06-30
  • navicat怎么导出表结构到excel
    在 navicat 中将表结构导出到 excel 的步骤如下:打开数据库连接后,在对象管理器中找到目标表。右键单击目标表并选择“导出向导”。选择“导出到其他数据库”并单击“下一步”。选择...
    99+
    2024-04-24
    navicat
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作