php讀取excel(php讀取excel第三方)

本文目錄一覽:

php怎樣讀取excel表格內容?

常用的用PHP讀取EXCEL的方法有以下三種,各自有各自的優缺點。個人推薦用第三種方法,因為它可以跨平台使用。

1. 以.csv格式讀取

將.xls轉換成.csv的文本格式,然後再用PHP分析這個文件,和PHP分析文本沒有什麼區別。

優點:跨平台,效率比較高、可以讀寫。

缺點:只能直接使用.csv的文件,如果經常接受.xls二進制文件的話需要手工轉換,不能自動化。一個文件只有一個SHEET。

PHP有自帶的分析.csv函數:fgetcsv

array fgetcsv ( int $handle [, int $length [, string $delimiter [, string $enclosure]]] )

handle 一個由 fopen()、popen() 或 fsockopen() 產生的有效文件指針。

length (可選)必須大於 CVS 文件內最長的一行。在 PHP 5 中該參數是可選的。如果忽略(在 PHP 5.0.4 以後的版本中設為 0)該參數的話,那麼長度就沒有限制,不過可能會影響執行效率。

delimiter (可選)設置字段分界符(只允許一個字符),默認值為逗號。

enclosure (可選)設置字段環繞符(只允許一個字符),默認值為雙引號。該參數是在 PHP 4.3.0 中添加的。 和 fgets() 類似,只除了 fgetcsv() 解析讀入的行並找出 CSV 格式的字段然後返回一個包含這些字段的數組。

fgetcsv() 出錯時返回 FALSE,包括碰到文件結束時。

注意: CSV 文件中的空行將被返回為一個包含有單個 null 字段的數組,不會被當成錯誤。

當然也可以自己手動分析字符串。

還可以利用fputcsv函數將行格式化為 CSV 並寫入文件指針。

2. ODBC鏈接數據源

優點:支持多種格式,cvs, xls等。支持讀寫,使用標準SQL語言,和SQLSERVER、MYSQL數據庫幾乎完全一樣。

缺點:值支持windows服務器

3. PHP自定義類

優點:跨平台。某些類支持寫操作。支持.xls二進制文件

常用的類有phpExcelReader、PHPExcel。其中後者支持讀寫,但是需要php5.2以上版本。

phpExcelReader是專門用來讀取文件的。返回一個數組,包含表格的所有內容。

該 class 使用的方法可以參考網站下載回來的壓縮檔中的 example.php。

不過我下載回來的 (版本 2009-03-30),有兩點要注意:

reader.php 中的下面這行要修改

將 require_once ‘Spreadsheet/Excel/Reader/OLERead.php’;

改為 require_once ‘oleread.inc’;

example.php 中

修改 $data-setOutputEncoding(’CP1251′);

為 $data-setOutputEncoding(’CP936′);

example2.php 中

修改 nl2br(htmlentities($data-sheets[$sheet][‘cells’][$row][$col]));

為 $table_output[$sheet] .= nl2br(htmlspecialchars($data-sheets[$sheet][‘cells’][$row][$col]));

不然中文會有問題。

繁體的話可以修改為CP950、日文是CP932,具體可參考codepage說明。

修改 $data-read(’jxlrwtest.xls’) 為自己的 excel 文件名,zip 檔中附的 jxlrwtest.xls 應該是壞了。

php 讀取excel

有一個簡便的方法  將數據輸出到網頁的table標籤裡面 然後改變header頭為excel

header ( “Content-type:application/vnd.ms-excel” );

header ( “Content-Disposition:attachment;filename=文件名稱.xls” );

正式點的

前端使用bootstrapTable插件導出excel

後端PHP使用PHPEXCEL插件

php怎麼讀取excel 文件數據並輸出

PHPExcel

PHPExcel 是用來操作Office Excel 文檔的一個PHP類庫,它基於微軟的OpenXML標準和PHP語言。可以使用它來讀取、寫入不同格式的電子表格,如 Excel (BIFF) .xls, Excel 2007 (OfficeOpenXML) .xlsx, CSV, Libre/OpenOffice Calc .ods, Gnumeric, PDF, HTML等等。

PHP讀取示例代碼

//獲取上傳的excel臨時文件

$path = $_FILES[“file”][“tmp_name”];

//將臨時文件移動當前目錄,可自定義存儲位置

 

move_uploaded_file($_FILES[“file”][“tmp_name”],$_FILES[“file”][“name”]);

//將獲取在服務器中的Excel文件,此處為上傳文件名

$path = $_FILES[“file”][“name”];

//調用readExcel函數返回一個

二維數組

$exceArray = readExcel($path);

 

//創建一個讀取

excel函數

function readExcel($path){

        //引入PHPExcel類庫

    include ‘Classes/PHPExcel.php’;            

    include ‘Classes/PHPExcel/IOFactory.php’;

 

    $type = ‘Excel5’;//設置為Excel5代表支持2003或以下版本,

Excel2007代表2007版

    $xlsReader = \PHPExcel_IOFactory::createReader($type);  

    $xlsReader-setReadDataOnly(true);

    $xlsReader-setLoadSheetsOnly(true);

    $Sheets = $xlsReader-load($path);

    //開始讀取上傳到服務器中的Excel文件,返回一個

二維數組

    $dataArray = $Sheets-getSheet(0)-

toArray();

    return $dataArray;

}

PHP遠程讀取excel文件,怎麼讀取

PHPExcel 通過 PHPExcel_Shared_OLERead 類的 read 方法讀取文件

但 read 方法里使用了 is_readable 函數來確認文件是否存在,而 is_readable 不能作用於 url

所以不可直接遠程讀取

但若繞過 is_readable 函數的話,就是可以的

public function read($sFileName)

{

// Check if file exists and is readable

if(!is_readable($sFileName)) {

throw new Exception(“Could not open ” . $sFileName . ” for reading! File does not exist, or it is not readable.”);

}

// Get the file data

$this-data = file_get_contents($sFileName);

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/308543.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2025-01-03 14:49
下一篇 2025-01-03 14:49

相關推薦

  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • Python Web開發第三方庫

    本文將介紹Python Web開發中的第三方庫,包括但不限於Flask、Django、Bottle等,並討論它們的優缺點和應用場景。 一、Flask Flask是一款輕量級的Web…

    編程 2025-04-29
  • PHP怎麼接幣

    想要在自己的網站或應用中接受比特幣等加密貨幣的支付,就需要對該加密貨幣擁有一定的了解,並使用對應的API進行開發。本文將從多個方面詳細闡述如何使用PHP接受加密貨幣的支付。 一、環…

    編程 2025-04-29
  • 為什麼不能用Microsoft Excel進行Python編程?

    Microsoft Excel是一個廣泛使用的數據分析工具,但是它不能直接用於Python編程。這是因為Microsoft Excel並不是一個編程工具,它的主要功能是進行數據處理…

    編程 2025-04-29
  • Python如何下載第三方模塊

    想要使Python更加強大且具備跨平台性,我們可以下載許多第三方模塊。下面將從幾個方面詳細介紹如何下載第三方模塊。 一、使用pip下載第三方模塊 pip是Python的軟件包管理器…

    編程 2025-04-28
  • Kong 使用第三方的go插件

    本文將針對Kong使用第三方的go插件進行詳細闡述。首先,我們解答下標題的問題:如何使用第三方的go插件?我們可以通過編寫插件來達到此目的。 一、插件架構介紹 Kong的插件系統采…

    編程 2025-04-28
  • 使用PHP foreach遍歷有相同屬性的值

    本篇文章將介紹如何使用PHP foreach遍歷具有相同屬性的值,並給出相應的代碼示例。 一、基礎概念 在講解如何使用PHP foreach遍歷有相同屬性的值之前,我們需要先了解幾…

    編程 2025-04-28
  • 基尼係數Excel計算模板

    這篇文章將介紹基尼係數Excel計算模板,為大家詳細闡述如何使用Excel進行基尼係數的計算。 一、模板下載及導入 首先需要下載基尼係數的Excel計算模板,可以在Excel中通過…

    編程 2025-04-28
  • python第三方規模的龐大

    Python語言第三方規模是龐大的,多方面的指標都可以證明。下面從幾個方面闡述。 一、模塊、包數量 Python第三方模塊數量是Python生態系統最顯著的特徵之一。截至2019年…

    編程 2025-04-28
  • Python文本處理第三方庫有哪些

    Python是一種高級語言,它的功能非常強大和全面,其中最重要之一就是它的文本處理能力。文本處理對於自然語言處理以及大數據分析都有着非常重要的作用。Python的標準庫提供了字符串…

    編程 2025-04-27

發表回復

登錄後才能評論