關於php上傳excel工具類的信息

本文目錄一覽:

php如何實現上傳導入excel數據?

難道你導入的時候不是選擇的本地 文件嗎?input框獲取之後 提交過去就可以導入了啊 phpexcel中有例子的啊 可以看看簡單的嘛 基本上 按那個例子改點東西就可以用了啊

如何用php實現上傳excel

第一,在前台html頁面進行上傳文件:如:

複製代碼代碼如下:

form method=”post” action=”php文件”enctype=”multipart/form-data”

h3導入Excel表:/h3input type=”file” name=”file_stu” /

input type=”submit” value=”導入”/

/form

第二,在對應的php文件進行文件的處理

複製代碼代碼如下:

if (! empty ( $_FILES [‘file_stu’] [‘name’] ))

{

$tmp_file = $_FILES [‘file_stu’] [‘tmp_name’];

$file_types = explode ( “.”, $_FILES [‘file_stu’][‘name’] );

$file_type = $file_types [count ( $file_types ) – 1];

/*判別是不是.xls文件,判別是不是excel文件*/

if (strtolower ( $file_type ) !=”xls”)

{

$this-error ( ‘不是Excel文件,重新上傳’ );

}

/*設置上傳路徑*/

$savePath = SITE_PATH . ‘/public/upfile/Excel/’;

/*以時間來命名上傳的文件*/

$str = date ( ‘Ymdhis’ );

$file_name = $str . “.” . $file_type;

/*是否上傳成功*/

if (! copy ( $tmp_file, $savePath . $file_name ))

{

$this-error ( ‘上傳失敗’ );

}

/*

*對上傳的Excel數據進行處理生成編程數據,這個函數會在下面第三步的ExcelToArray類中

注意:這裡調用執行了第三步類裡面的read函數,把Excel轉化為數組並返回給$res,再進行數據庫寫入

*/

$res = Service ( ‘ExcelToArray’ )-read ( $savePath . $file_name );

/*

重要代碼解決Thinkphp M、D方法不能調用的問題

如果在thinkphp中遇到M 、D方法失效時就加入下面一句代碼

*/

//spl_autoload_register ( array (‘Think’, ‘autoload’ ) );

/*對生成的數組進行數據庫的寫入*/

foreach ( $res as $k = $v )

{

if ($k != 0)

{

$data [‘uid’] = $v[0];

$data [‘password’]= sha1 ( ‘111111’ );

$data [’email’] =$v [1];

$data [‘uname’] = $v [3];

$data [‘institute’] = $v [4];

$result = M ( ‘user’ )-add( $data );

if (! $result)

{

$this-error ( ‘導入數據庫失敗’ );

}

}

}

}

第三:ExcelToArrary類,用來引用phpExcel並處理Excel數據的

複製代碼代碼如下:

class ExcelToArrary extends Service{

public function __construct() {

/*導入phpExcel核心類 注意:你的路徑跟我不一樣就不能直接複製*/

include_once(‘./Excel/PHPExcel.php’);

}

/**

* 讀取excel $filename 路徑文件名$encode 返回數據的編碼默認為utf8

*以下基本都不要修改

*/

public function read($filename,$encode=’utf-8′){

$objReader = PHPExcel_IOFactory::createReader(‘Excel5’);

$objReader-setReadDataOnly(true);

$objPHPExcel = $objReader-load($filename);

$objWorksheet = $objPHPExcel-getActiveSheet();

$highestRow =$objWorksheet-getHighestRow();

$highestColumn = $objWorksheet-getHighestColumn();

$highestColumnIndex = PHPExcel_Cell::columnIndexFromString($highestColumn);

$excelData = array();

for($row = 1; $row = $highestRow; $row++) {

for ($col = 0; $col $highestColumnIndex;$col++) {

$excelData[$row][] =(string)$objWorksheet-getCellByColumnAndRow($col,$row)-getValue();

}

}

return $excelData;

}

}

怎麼寫一個php能實現上傳excel並導入進mysql呢?還有怎麼從mysql導出進一個新的exc

可以使用excel插件,這個相對複雜。

說個非常簡單的,一般ecel文件可以保存成為csv文件,然後你就可以進行csv的文件處理。

csv的組成一般是

col1,col2,col3

col12,col22,col33

可見,只要使用explode 兩次就可以得到一個

array(

array(ccol1,col2,col3),

array(col12,col22,col33);

)

二維數組,然後批量導入這個二維數組就很簡單了。

導出是一樣的額,寫入一個,想辦法把取出的數據構造成

col1,col2,col3

col12,col22,col33

這樣的字符串,然後使用header函數即可導出csv文件,csv可以使用excel直接打開

純手打,望採納!

php 上傳excel 表格 PHPExcel類,出現錯

ZipArchive library is not enabled:出現這個錯誤說明是程序在調用’ZipArchive’ 這個類的時候沒有成功,原因是由於在安裝php的時候沒有增加php zip的支持(非zlib)。

請在php.ini找到extension=php_zip.dll並把前面的分號去掉(如果沒有,請添加extension=php_zip.dll此行並確保php_zip.dll文件存在相應的目錄),保存後重啟php即可。

在Unix/Linux下的解決辦法:

1、在Linux下沒有php_zip.dll這個文件(有也不會起作用的),所以需要重新編譯一下php的zip模塊。具體安裝方法如下:

cd /usr/src

wget

tar -zxvf zip

cd zip-1.x.x

phpize

./configure

make

sudo make instal

其中, 在最後使用make install命令的時候,可能需要用到root的權限,所以建議使用sudo來運行。安裝完之後,屏幕上會提示zip.so的位置。然後將其記錄下來,如:/usr/local/lib/php/extensions/zip.so。

2、使用root權限修改php.ini(通常可能會在/usr/local/lib/文件夾下,不過視當初安裝php而定,可以通過phpinfo()來查看):

增加extension = /usr/local/lib/php/extensions/zip.so,然後同樣在php.ini文件中,將 zlib.output_compression = Off 改為 zlib.output_compression = On ;

3、最後別忘了重啟一下Apache:apachectl restart;

這個針對php的zip模塊就安裝完成了,能夠在php中使用ZipArchive類了。

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

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-29 12:51
下一篇 2024-12-29 12:51

相關推薦

  • Python字典去重複工具

    使用Python語言編寫字典去重複工具,可幫助用戶快速去重複。 一、字典去重複工具的需求 在使用Python編寫程序時,我們經常需要處理數據文件,其中包含了大量的重複數據。為了方便…

    編程 2025-04-29
  • PHP和Python哪個好找工作?

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

    編程 2025-04-29
  • 如何通過jstack工具列出假死的java進程

    假死的java進程是指在運行過程中出現了某些問題導致進程停止響應,此時無法通過正常的方式關閉或者重啟該進程。在這種情況下,我們可以藉助jstack工具來獲取該進程的進程號和線程號,…

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

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

    編程 2025-04-29
  • 註冊表取證工具有哪些

    註冊表取證是數字取證的重要分支,主要是獲取計算機系統中的註冊表信息,進而分析痕迹,獲取重要證據。本文將以註冊表取證工具為中心,從多個方面進行詳細闡述。 一、註冊表取證工具概述 註冊…

    編程 2025-04-29
  • Java 監控接口返回信息報錯信息怎麼處理

    本文將從多個方面對 Java 監控接口返回信息報錯信息的處理方法進行詳細的闡述,其中包括如何捕獲異常、如何使用日誌輸出錯誤信息、以及如何通過異常處理機制解決報錯問題等等。以下是詳細…

    編程 2025-04-29
  • 百度網盤Python上傳

    百度網盤是一個常用的雲存儲平台,提供了多種上傳文件的方式,其中包括使用Python進行上傳。本文將從安裝Python、安裝依賴庫、上傳文件三個方面進行詳細闡述。 一、安裝Pytho…

    編程 2025-04-28
  • 使用Python爬蟲獲取電影信息的實現方法

    本文將介紹如何使用Python編寫爬蟲程序,來獲取和處理電影數據。需要了解基本的Python編程語言知識,並使用BeautifulSoup庫和Requests庫進行爬取。 一、準備…

    編程 2025-04-28
  • Python運維工具用法介紹

    本文將從多個方面介紹Python在運維工具中的應用,包括但不限於日誌分析、自動化測試、批量處理、監控等方面的內容,希望能對Python運維工具的使用有所幫助。 一、日誌分析 在運維…

    編程 2025-04-28
  • t3.js:一個全能的JavaScript動態文本替換工具

    t3.js是一個非常流行的JavaScript動態文本替換工具,它是一個輕量級庫,能夠很容易地實現文本內容的遞增、遞減、替換、切換以及其他各種操作。在本文中,我們將從多個方面探討t…

    編程 2025-04-28

發表回復

登錄後才能評論