導航:首頁 > 編程語言 > php如何導入excel文件

php如何導入excel文件

發布時間:2023-02-07 13:29:00

php怎麼把資料庫里的數據插入到excel

建議你先生成csv文件格式,然後手動轉換成excel文件.
php倒是有擴展支持生成excel,例如PHPExcel.不過都相對麻煩.

❷ PHP如何導入導出Excel

導入導出都成,可以導出office2007格式,同時兼容2003。
下載下來的包中有文檔和例子,大家可以自行研究。
抄段例子出來:

PHP代碼
<?php
/**
* PHPExcel
*
* Copyright (C) 2006 - 2007 PHPExcel
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
* @category PHPExcel
* @package PHPExcel
* @right Copyright (c) 2006 - 2007 PHPExcel
* @license
* @version 1.5.0, 2007-10-23
*/

/** Error reporting */
error_reporting(E_ALL);

/** Include path **/
set_include_path(get_include_path() . PATH_SEPARATOR . 『../Classes/』);

/** PHPExcel */
include 『PHPExcel.php』;

/** PHPExcel_Writer_Excel2007 */
include 『PHPExcel/Writer/Excel2007.php』;

// Create new PHPExcel object
echo date(』H:i:s』) . 」 Create new PHPExcel object\n」;
$objPHPExcel = new PHPExcel();

// Set properties
echo date(』H:i:s』) . 」 Set properties\n」;
$objPHPExcel->getProperties()->setCreator(」Maarten Balliauw」);
$objPHPExcel->getProperties()->setLastModifiedBy(」Maarten Balliauw」);
$objPHPExcel->getProperties()->setTitle(」Office 2007 XLSX Test Document」);
$objPHPExcel->getProperties()->setSubject(」Office 2007 XLSX Test Document」);
$objPHPExcel->getProperties()->setDescrīption(」Test document for Office 2007 XLSX, generated using PHP classes.」);
$objPHPExcel->getProperties()->setKeywords(」office 2007 openxml php」);
$objPHPExcel->getProperties()->setCategory(」Test result file」);

// Add some data
echo date(』H:i:s』) . 」 Add some data\n」;
$objPHPExcel->setActiveSheetIndex(0);
$objPHPExcel->getActiveSheet()->setCellValue(』A1′, 『Hello』);
$objPHPExcel->getActiveSheet()->setCellValue(』B2′, 『world!』);
$objPHPExcel->getActiveSheet()->setCellValue(』C1′, 『Hello』);
$objPHPExcel->getActiveSheet()->setCellValue(』D2′, 『world!』);

// Rename sheet
echo date(』H:i:s』) . 」 Rename sheet\n」;
$objPHPExcel->getActiveSheet()->setTitle(』Simple』);

// Set active sheet index to the first sheet, so Excel opens this as the first sheet
$objPHPExcel->setActiveSheetIndex(0);

// Save Excel 2007 file
echo date(』H:i:s』) . 」 Write to Excel2007 format\n」;
$objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel);
$objWriter->save(str_replace(』.php』, 『.xlsx』, __FILE__));

// Echo done
echo date(』H:i:s』) . 」 Done writing file.\r\n」;

❸ php怎麼導入大量數據的excel

php導出大量數據的Excel:
PHP從資料庫分多次讀取100萬行記錄,和分多次將100萬行寫入文本文件都沒問題
Excel可以支持100萬行記錄,Excel 2003最大支持65536行,從2007版開始支持104萬行了,目前2007的盜版應該比較普及了-_-! 問清楚客戶是什麼版本。
要導出excel的理由是非常充分和正確的,應該繼續堅持。業務人員最熟悉的就是Excel,實在不熟悉現學現用也比別的快。只是要注意,當數據量達到10萬行這個級別時,Excel的公式填充將會非常非常慢,如果再有LOOKUP()公式,基本上十分鍾內處理CPU滿載進程管理器殺不掉的狀態,這時候其實xampp + phpmyadmin是一個易用性和性能都最平衡的選擇
PHPExcel輸出的是Excel XML格式,有個XML頭和尾,中間是數據Body,需要將100萬行都賦值給一個數組才可以調用PHPExcel->write(),這容易導致PHP執行超時或者內存超限,不妨調整一下php.ini配置,把超時時間和內存限制都改到很大
如果是輸出csv格式,那就太簡單了,你的問題可能是沒給欄位內容加引號,加上引號再調用fputcsv試試?其實fputcsv做的事情特別簡單,你甚至可以不管它,自己把CSV文件的每一行拼接好了之後用file_put_contents寫入

❹ PHP如何導入導出Excel

最近在PHP培訓學習過程中,需要開發一個模塊,把系統中的一些數據導出成Excel,修改後再導回系統。就趁機對這個研究了一番,下面進行一些總結。雖然我們在平時用的也有一些,但沒有作者列出來的全,寫excel的時候,我用過pear的庫,也用過pack壓包的頭,同樣那些利用smarty等作的簡單替換xml的也用過,csv的就更不用談了。但是在讀的時候,只用過一種,具體是什麼忘了,要回去翻代碼了。
基本上導出的文件分為兩種:
1:類Excel格式,這個其實不是傳統意義上的Excel文件,只是因為Excel的兼容能力強,能夠正確打開而已。修改這種文件後再保存,通常會提示你是否要轉換成Excel文件。優點:簡單。缺點:難以生成格式,如果用來導入需要自己分別編寫相應的程序。2:Excel格式,與類Excel相對應,這種方法生成的文件更接近於真正的Excel格式。
如果導出中文時出現亂碼,可以嘗試將字元串轉換成gb2312,例如下面就把$yourStr從utf-8轉換成了gb2312:$yourStr = mb_convert_encoding(」gb2312″, 「UTF-8″, $yourStr);
下面詳細列舉幾種方法。
1:利用smarty,生成符合Excel規范的XML或HTML文件支持格式,非常完美的導出方案。不過導出來的的本質上還是XML文件,如果用來導入就需要另外處理了。詳細內容請見rardge大俠的帖子:http://bbs.chinaunix.net/viewthread.php?tid=745757
需要注意的是如果導出的表格行數不確定時,最好在模板中把」ss:ExpandedColumnCount=」5″ ss:ExpandedRowCount=」21″」之類的東西刪掉。

2、利用pack函數列印出模擬Excel格式的斷句符號,這種更接近於Excel標准格式,用office2003修改後保存,還不會彈出提示,推薦用這種方法。缺點是無格式。
PHP代碼<?php // Send Header header(」Pragma: public」); header(」Expires: 0″); header(」Cache-Control: must-revalidate, post-check=0, pre-check=0″); header(」Content-Type: application/force-download」); header(」Content-Type: application/octet-stream」); header(」Content-Type: application/download」);; header(」Content-Disposition: attachment;filename=test.xls 「); header(」Content-Transfer-Encoding: binary 「); // XLS Data Cell xlsBOF(); xlsWriteLabel(1,0,」My excel line one」); xlsWriteLabel(2,0,」My excel line two : 「); xlsWriteLabel(2,1,」Hello everybody」); xlsEOF(); function xlsBOF() { echo pack(」ssssss」, 0×809, 0×8, 0×0, 0×10, 0×0, 0×0); return; } function xlsEOF() { echo pack(」ss」, 0×0A, 0×00); return; } function xlsWriteNumber($Row, $Col, $Value) { echo pack(」sssss」, 0×203, 14, $Row, $Col, 0×0); echo pack(」d」, $Value); return; } function xlsWriteLabel($Row, $Col, $Value ) { $L = strlen($Value); echo pack(」ssssss」, 0×204, 8 + $L, $Row, $Col, 0×0, $L); echo $Value; return; } ?> 不過筆者在64位linux系統中使用時失敗了,斷句符號全部變成了亂碼。
3、使用製表符、換行符的方法 製表符」\t」用戶分割同一行中的列,換行符」\t\n」可以開啟下一行。 <?php header(」Content-Type: application/vnd.ms-execl」); header(」Content-Disposition: attachment; filename=myExcel.xls」); header(」Pragma: no-cache」); header(」Expires: 0″); /*first line*/ echo 「hello」.」\t」; echo 「world」.」\t」; echo 「\t\n」; /*start of second line*/ echo 「this is second line」.」\t」; echo 「Hi,pretty girl」.」\t」; echo 「\t\n」;

❺ php怎麼給excel導入數據

如果是將數據導出到excel,應該是用vba方便點。
如果非要用php,請參考:
Header( "Content-type: application/octet-stream ");
Header( "Accept-Ranges: bytes ");
Header( "Content-type:application/vnd.ms-excel ");
Header( "Content-Disposition:attachment;filename=test.xls ");
$con = mysql_connect("localhost","root","123456");
mysql_select_db("db_test");
mysql_query('set names utf8');
$sql = "select id,FirstName,LastName,Age,Hometown,Job from user";
$result = mysql_query($sql,$con);
echo "id\tFirstName\tLastName\tAge\tHometown\tJob";
while ($rs=mysql_fetch_array($result)){
echo "\n";
echo $rs['id']."\t".$rs['FirstName']."\t".$rs['LastName']."\t".$rs['Age']."\t".$rs['Hometown']."\t".$rs['Job'];
}

❻ 怎麼使用php把表格中的數據導入到excel中

下面是我寫的一個PHP導出數據到CSV問價的函數,你到時候直接調用就行了

/**
*導出CSV文件
*@paramstring$fileName 文件名字
*@paramstring|array$data導出數據,csv格式的字元串|數值數組
*@paramstring$to_encoding目標轉換編碼
*@paramstring$from_encoding當前編碼
*/
functionexportCSV($fileName='',$data='',$to_encoding='gb2312',$from_encoding='utf-8'){
$fileName=empty($fileName)?date('YmdHis'):$fileName;
//文件標簽
Header("Content-type:application/octet-stream");
header("Content-type:application/vnd.ms-excel;charset=$from_encoding");
Header("Content-Disposition:attachment;filename=$fileName.csv");

$str='';
if($data){
if(is_array($data)){
foreach($dataas$v){
if(is_array($v)){
foreach($vas$vo){
$str.=(is_numeric($vo)?"'".$vo:$vo."").",";
}
$str=trim($str,",")." ";
}else{
$str.=(is_numeric($v)?"'".$v:$v).",";
}
}
$str=trim($str,",")." ";
}else{
$str=$data;
}
}

echomb_convert_encoding($str,"gb2312","utf-8");
exit;
}

❼ 如何用php 製作導入excel

常用的用PHP讀取EXCEL的方法有以下三種,各自有各自的優缺點。個人推薦用第三種方法,因為它可以跨平台使用。 1. 以.csv格式讀取 將.xls轉換成.csv的文本格式,然後再用PHP分析這個文件,和PHP分析文本沒有什麼區別。

❽ php中如何將execl的數據導入到資料庫中

1.使用PHP
Excel
Parser
Pro軟體,但是這個軟體為收費軟體;
2.可將EXCEL表保存為CSV格式,然後通過
phpmyadmin
或者SQLyog導入,SQLyog導入的方法為:
·將EXCEL表另存為CSV形式;
·打開SQLyog,對要導入的表格
右擊
,點擊「導入」-「導入使用載入本地CSV數據」;
·在彈出的對話框中,點擊「改變..」,把選擇「填寫excel友好值」,點擊確定;
·在「從文件導入」中選擇要導入的CSV文件路徑,點擊「導入」即可導入數據到表上;
3.一個比較笨的手工方法,就是先利用excel生成
sql語句
,然後再到mysql中運行,這種方法適用於
excel表格
導入到各類
sql資料庫

·假設你的表格有A、B、C三
列數據
,希望導入到你的資料庫中表格tablename,對應的欄位分別是col1、col2、col3
·在你的表格中增加一列,利用excel的公式自動生成sql語句,具體方法如下:
1)增加一列(假設是D列)
2)在第一行的D列,就是D1中輸入公式:
=CONCATENATE("insert
into
tablename
(col1,col2,col3)
values
(",A1,",",B1,",",C1,");")
3)此時D1已經生成了如下的sql語句:
insert
into
table
(col1,col2,col3)
values
('a','11','33');
4)將D1的公式復制到所有行的D列(就是用滑鼠點住D1單元格的右下角一直拖拽下去啦)
5)此時D列已經生成了所有的sql語句
6)把D列復制到一個純文本文件中,假設為sql.txt
·把sql.txt放到資料庫中運行即可,你可以用命令行導入,也可以用phpadmin運行。

❾ php怎麼導入excel

fgetcsv 只能導入csv 的文件, 你需要再excel工具裡面把excel 文件轉換成csv格式

❿ PHP中怎麼把資料庫中的內容導入Excel文件

#導出csv
header("Content-type: text/html;charset=utf-8");
$filename="測試";
header("Content-Type: text/csv");
header("Content-Disposition: attachment; filename=".iconv("utf-8","gb2312",$filename).".csv");
header('Cache-Control:must-revalidate,post-check=0,pre-check=0');
header('Expires:0');
header('Pragma:public');
echo iconv("utf-8","gb2312","123456\n");
#導出Excel
header("Content-Type: application/vnd.ms-execl");
header("Content-Disposition: attachment; filename=myExcel.xls");
header("Pragma: no-cache");
header("Expires: 0");
/*first line*/
echo "hello"."\t";
echo "world"."\t";
echo "\t\n";

/*start of second line*/
echo "this is second line"."\t";
echo "Hi,pretty girl"."\t";
echo "\t\n";

閱讀全文

與php如何導入excel文件相關的資料

熱點內容
如何用命令方塊用東西換石劍 瀏覽:119
用洗碗海綿解壓玩具 瀏覽:855
thinkphp5php54 瀏覽:467
冰箱壓縮機啟動器損壞後故障現象 瀏覽:815
伺服器管理器如何取消每次都打開 瀏覽:611
編程兵書pdf 瀏覽:414
益盟伏擊活躍股指標公式源碼 瀏覽:868
搏擊解壓球的訓練方法 瀏覽:799
很解壓的小游戲超級好玩哦 瀏覽:97
高光譜圖像壓縮 瀏覽:700
新天堂伺服器什麼時候開 瀏覽:79
ios用什麼app玩雲頂 瀏覽:518
teslaapp如何更新 瀏覽:711
app去哪裡可以做 瀏覽:888
php技術選型方案 瀏覽:586
win7如何開啟oa精靈伺服器 瀏覽:613
三菱plc編程怎麼編輯fb塊 瀏覽:280
程序員怎麼用網站的圖片 瀏覽:29
梅花app緩存文件在哪裡 瀏覽:979
android動態換圖標 瀏覽:719