學習整理在php中使用PHPExcel讀取excel表列數大于Z時讀取不到的解決方案

php讀取excel列數大于Z時讀取不到

    • 背景
    • 解決方案
    • 關鍵代碼

背景

表格數據超過26列, 也就是在Z列之前沒有AA列及以后的情況, 測試一直都沒有問題,超過,就會獲取不到數據了

解決方案

private function getExcelData(){//獲取excel文件$file = $_FILES['poily']['tmp_name'];//實例化excel處理類$PHPReader = new \PHPExcel_Reader_Excel2007();if (!$PHPReader->canRead($file)) {$PHPReader = new \PHPExcel_Reader_Excel5();if (!$PHPReader->canRead($file)) {return false;}}$PHPExcel = $PHPReader->load($file);$currentSheet = $PHPExcel->getSheet(0);//讀取第一個工作表$allRow = $currentSheet->getHighestRow();//取得一共有多少行//這兩段很重要$allColumn = $currentSheet->getHighestColumn();//取得最大的列號$allColumn = \PHPExcel_Cell::columnIndexFromString($allColumn);//將列數轉換為數字 列數大于Z的必須轉  A->1  AA->27$arr = [];//從第一行開始讀 第一行為標題for ($currentRow = 1; $currentRow <= $allRow; $currentRow++) {//從第A列開始輸出for ($currentColumn = 0; $currentColumn < $allColumn; $currentColumn++) {//plan 1//$strColumn  = \PHPExcel_Cell::stringFromColumnIndex($currentColumn);//將數字轉換為字母  0->A  26->AA//$val = $currentSheet->getCell($strColumn.$currentRow)->getValue();//plan 2$val = $currentSheet->getCellByColumnAndRow($currentColumn, $currentRow)->getValue();//如果輸出漢字有亂碼,則需將輸出內容用iconv函數進行編碼轉換,如下將gb2312編碼轉為utf-8編碼輸出 $arr[$currentRow][]=  iconv('utf-8','gb2312', $val)."\t";//將每列內容讀取到數組中$arr[$currentRow][] = trim($val);}}//刪除全部為空的行foreach ($arr as $key => $vals) {$tmp = '';foreach ($vals as $v) {$tmp .= $v;}if (!$tmp) unset($arr[$key]);}return $arr;}

關鍵代碼

PHPExcel_Cell::columnIndexFromString($allColumn)  //將列數轉換為數字 列數大于Z的必須轉  A->1  AA->27

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/39829.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/39829.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/39829.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

使用Python進行文件屬性修改

哈嘍,大家好,我是木頭左! 在計算機中,文件屬性是指與文件相關的元數據,如創建時間、修改時間、訪問時間等。這些屬性對于管理和組織文件非常重要。Python提供了一些內置的函數和方法,可以方便地修改文件的屬性。本文將介紹如何使用Python進行文件屬性的修改。 1. 獲取文件…

應用密碼學—(擴展)歐幾里得、DES、RSA、SHA-1算法

1. 歐幾里得算法 1.1 分析算法的實現原理 歐幾里德&#xff08;Euclid&#xff09;算法&#xff0c;也既常說的“輾轉相除法”&#xff0c;公式為gcd(m, n) { return gcd(n, m%n); }&#xff0c;對于任意兩個正整數m、n&#xff0c;每次求的一個數字r m % n&#xff0c;然后把…

教育場景中的自動化分揀系統!基于大象機器人UltraArm P340機械臂和傳送帶的實現

引言 今天我們將展示一個高度自動化的模擬場景&#xff0c;展示多個機械臂與傳送帶協同工作的高效分揀系統。在這個場景中&#xff0c;機械臂通過視覺識別技術對物體進行分類&#xff0c;并通過精確的機械操作將它們放置在指定的位置。這一系統不僅提高了分揀的速度和準確性&am…

PTrade怎么獲取KDJ隨機指標?想做量化策略怎么申請PTrade量化軟件?

get_KDJ - 隨機指標 get_KDJ(high, low, close, n9, m13, m23) 使用場景 該函數僅在回測、交易模塊可用 接口說明 獲取隨機指標KDJ指標的計算結果 PTrade是恒生公司開發的一款專業量化軟件&#xff0c;部分合作券商可提供&#xff0c;↑↑↑&#xff01; 參數 high&…

什么是分庫分表?它有哪些實現類型?

假如你正在使用關系型數據庫開發一款健康類系統。業務發展很好&#xff0c;系統有很多活躍的新老用戶&#xff0c;這些用戶會和平臺的醫生團隊進行交互&#xff0c;每天可能會生成數萬甚至數十萬級別的業務數據。這樣的話&#xff0c;隨著數據量越來越大&#xff0c;系統中的某…

如何在返利App中進行高效的異常處理與監控

如何在返利App中進行高效的異常處理與監控 大家好&#xff0c;我是微賺淘客系統3.0的小編&#xff0c;也是冬天不穿秋褲&#xff0c;天冷也要風度的程序猿&#xff01; 在開發返利App過程中&#xff0c;高效的異常處理與監控是確保系統穩定性和用戶體驗的關鍵。本文將深入探討…

被?絡罪犯利?的5?ChatGPT越獄提?

?ChatGPT發布的近18個月以來&#xff0c;?絡罪犯們已經能夠利??成式AI進?攻擊。OpenAI在其內容政策中制定了限制措施&#xff0c;以阻??成惡意內容。作為回應&#xff0c;攻擊者們創建了??的?成式AI平臺&#xff0c;如 WormGPT和FraudGPT&#xff0c;并且他們還分享了…

IP地址定位中多源數據融合的應用

IP地址定位如今在諸如網絡安全、地理信息服務、智能交通等領域發揮著關鍵作用。然而&#xff0c;傳統的基于單一數據源&#xff08;如IP數據庫&#xff09;的定位方法往往存在精度有限、可靠性不足等問題。多源數據融合技術的出現為解決這些問題提供了新的思路和方法。今天我們…

石墨烯分散液制備方法眾多 應用領域廣泛

石墨烯分散液制備方法眾多 應用領域廣泛 石墨烯分散液指將石墨烯納米片均勻分散在特定溶劑中制成的溶液。石墨烯分散液具有化學穩定性好、生物相容性好、熱穩定性好等優勢&#xff0c;未來有望在涂料、纖維制品、電池制造、油墨等領域獲得廣泛應用。 石墨烯分散液以石墨…

深入解析某音item_search_video接口:技術原理與應用探索

item_search_video接口是某音提供的一個用于根據關鍵詞搜索相關視頻內容的API。通過該接口&#xff0c;用戶可以獲取到與搜索關鍵詞相關的視頻列表&#xff0c;包括視頻的基本信息&#xff08;如標題、描述、封面圖URL&#xff09;、發布者信息以及視頻的播放和互動數據等。這為…

絕區零卡頓嚴重、延遲高的解決方法提前看

絕區零這款游戲背后是一個錯綜復雜的架空世界&#xff0c;仿佛一幅波瀾壯闊的史詩畫卷緩緩展開。在這個世界中&#xff0c;神秘莫測的“空洞”災害如影隨形&#xff0c;給大地帶來了無盡的破壞和混沌。經過米哈游團隊的精心雕琢&#xff0c;無論是畫面UI的細膩呈現&#xff0c;…

C++ 左值右值

文章目錄 概述左值右值右值引用左值和右值的互換 小結 概述 左值和右值屬于2中不同的表達式類型&#xff1b;它們在表達式中扮演不同的角色&#xff0c;特別是在賦值操作和函數參數傳遞中。 左值 定義&#xff1a;左值是指那些在內存中有確定位置的表達式&#xff0c;可以出…

灌區量測水管理系統是如何實現灌區節水?

隨著全球水資源日益緊張&#xff0c;節水已成為農業生產中不可忽視的一環。在灌區管理中&#xff0c;量測水管理系統以其精準的數據監測和科學的灌溉管理&#xff0c;為實現灌區節水提供了強有力的技術支持。 灌區量測水管理系統是一套集成了自動化監測、數據傳輸、數據分析和…

Springboot交流論壇網站00304

Springboot交流論壇網站 摘要 隨著信息技術在管理上越來越深入而廣泛的應用&#xff0c;管理信息系統的實施在技術上已逐步成熟。本文介紹了交流論壇網站的開發全過程。通過分析交流論壇網站管理的不足&#xff0c;創建了一個計算機管理交流論壇網站的方案。文章介紹了交流論壇…

x-ray投影圖文件.raw轉換成.tif文件【python代碼】

如下&#xff1a; path 輸入文件所在的文件夾路徑import os import numpy as np import tifffile as tiffdef read_raw_data(path, dimensions, dtype):"""讀取 .raw 文件并返回圖像數據:param path: .raw 文件路徑:param dimensions: 圖像的行數和列數 (hei…

elementui中table組件合并行(看就懂)

做一個動態合并的table表格, 如下圖 1.首先定義需要合并的字段及合并后的對象 data(){return {mergeFields: [name, amount3],mergeObj: {}} }2.分配合并項函數, data為數據源 //獲取合并序號getSpanArr(data []) {this.mergeFields.forEach(key > {// 用來記錄合并行的起…

數據類型的分類和查看

數據類型是指定程序在運行過程中&#xff0c;將各種數據根據表示形式和組織形式劃分為不同的分類。 例如&#xff0c;一個人的姓名可以用字符類型存儲&#xff0c;年齡可以用數值類型存儲&#xff0c;而婚否可以用布爾類型存儲&#xff0c;這些都是 Python 中的 標準數據類型…

為什么我感覺 C 語言在 Linux 下執行效率比 Windows 快得多?

在開始前剛好我有一些資料&#xff0c;是我根據網友給的問題精心整理了一份「Linux的資料從專業入門到高級教程」&#xff0c; 點個關注在評論區回復“888”之后私信回復“888”&#xff0c;全部無償共享給大家&#xff01;&#xff01;&#xff01;Windows的終端或者叫控制臺…

c++初級-2-引用

文章目錄 引用一、引用的定義二、引用做函數參數三、引用作為返回對象四、引用的本質五、常量引用 引用 即給一個變量起別名。 一、引用的定義 int a 10;//引用int& b a;cout << "a " << a << endl;cout << "b " <&l…

時間12小時和24時轉換方法

24小時時間轉為12小時制 function convertTo12Hour(time24h){let [hours, minutes] time24h.split(:);let modifier 上午;if (parseInt(hours, 10) > 12) {modifier 下午;hours (parseInt(hours, 10) - 12).toString();}if (parseInt(hours, 10) 12) {modifier 下午;}…