php里怎么用表格數(shù)據(jù),php建表格

如何通過PHP將excel的數(shù)據(jù)導(dǎo)入MySQL中

準(zhǔn)備工作: 下載PHP-ExcelReader,下載后用到\phpExcelReader\Excel目錄下的oleread.inc和reader.php兩個文件,并將reader.php文件打開后require_once 'Spreadsheet/Excel/Reader/OLERead.php';屏蔽掉,增加為require_once 'oleread.inc'; 然后直接將這兩個文件復(fù)制到服務(wù)器下WAMP,直接復(fù)制到WWW目錄下,再將所需要的excel文件考進(jìn)來我的文件是classify.xls,然后需要一個調(diào)用reader.php的文件,源代碼如下:

港南網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)建站!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)等網(wǎng)站項目制作,到程序開發(fā),運(yùn)營維護(hù)。創(chuàng)新互聯(lián)建站2013年至今到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運(yùn)維經(jīng)驗,來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)建站。

ExcelToMysql.php

?php

require_once 'reader.php';

$data = new Spreadsheet_Excel_Reader();

$data-setOutputEncoding('gbk');

$data-read('classify.xls'); //”classify.xls”是指要導(dǎo)入到mysql中的excel文件

@ $db = mysql_connect("localhost", "root", "") or

die("Could not connect to database.");//連接數(shù)據(jù)庫

mysql_query("set names 'gbk'");//輸出中文

mysql_select_db('japlearn'); //選擇數(shù)據(jù)庫

error_reporting(E_ALL ^ E_NOTICE);

for ($i = 1; $i = $data-sheets[0]['numRows']; $i++) {

//以下注釋的for循環(huán)打印excel表數(shù)據(jù)

//以下代碼是將excel表數(shù)據(jù)【6個字段】插入到mysql中,根據(jù)你的excel表字段的多少,改寫以下代碼吧!

$sql = "INSERT INTO classify VALUES('".

$data-sheets[0]['cells'][$i][1]."','".

$data-sheets[0]['cells'][$i][2]."','".

$data-sheets[0]['cells'][$i][3]."','".

$data-sheets[0]['cells'][$i][4]."','".$data-sheets[0]['cells'][$i][5]."','".$data-sheets[0]['cells'][$i][6]."')";

echo $sql.'br /';

$res = mysql_query($sql);

}

?

把上面代碼注釋的地方替換成自己配置好的數(shù)據(jù),如數(shù)據(jù)庫配置等。運(yùn)行本機(jī)測試地址實(shí)現(xiàn)導(dǎo)入。

怎樣用php制作表格?

1、建立一個數(shù)組,取名為$ShuZu,舉例數(shù)組的內(nèi)容是學(xué)生的信息,包括姓名、性別和年齡。

$ShuZu = array

(

array("姓名","性別","年齡"),

array("張三","男",13),

array("里斯","女",12),

array("王五","男",15)

);

2、建立一個變量,用來存儲需要顯示的表格。

$BiaoGe = "";

給¥BiaoGe賦初始值,

$BiaoGe = $BiaoGe."table ";

3、構(gòu)建外循環(huán),取出數(shù)組$ShuZu中的行數(shù)。

for ($i=0; $icount($ShuZu); $i++)

{

$BiaoGe = $BiaoGe. "tr";

$BiaoGe = $BiaoGe. "/tr";

}

4、構(gòu)建內(nèi)循環(huán),取出每行中的每一個列。

for ($i=0; $icount($ShuZu); $i++)

{

$BiaoGe = $BiaoGe. "tr";

for ($j=0;$jcount($ShuZu[$i]);$j++)

{

$BiaoGe = $BiaoGe. "td".$ShuZu[$i][$j]."/td";

}

$BiaoGe = $BiaoGe. "/tr";

}

5、加入表示表格結(jié)尾的html標(biāo)記。

$BiaoGe = $BiaoGe. "/table";

6、使用echo 方法顯示表格。

echo? $BiaoGe;

7、查看運(yùn)行結(jié)果,這樣,表格就制作完成了。

php怎樣讀取excel表格內(nèi)容?

常用的用PHP讀取EXCEL的方法有以下三種,各自有各自的優(yōu)缺點(diǎn)。個人推薦用第三種方法,因為它可以跨平臺使用。

1. 以.csv格式讀取

將.xls轉(zhuǎn)換成.csv的文本格式,然后再用PHP分析這個文件,和PHP分析文本沒有什么區(qū)別。

優(yōu)點(diǎn):跨平臺,效率比較高、可以讀寫。

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

PHP有自帶的分析.csv函數(shù):fgetcsv

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

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

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

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

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

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

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

當(dāng)然也可以自己手動分析字符串。

還可以利用fputcsv函數(shù)將行格式化為 CSV 并寫入文件指針。

2. ODBC鏈接數(shù)據(jù)源

優(yōu)點(diǎn):支持多種格式,cvs, xls等。支持讀寫,使用標(biāo)準(zhǔn)SQL語言,和SQLSERVER、MYSQL數(shù)據(jù)庫幾乎完全一樣。

缺點(diǎn):值支持windows服務(wù)器

3. PHP自定義類

優(yōu)點(diǎn):跨平臺。某些類支持寫操作。支持.xls二進(jìn)制文件

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

phpExcelReader是專門用來讀取文件的。返回一個數(shù)組,包含表格的所有內(nèi)容。

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

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

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 應(yīng)該是壞了。

php 怎么把數(shù)據(jù)導(dǎo)出到excel表格

php 把數(shù)據(jù)導(dǎo)出到excel表格有多種方法,比如使用 phpExcel 等,以下代碼是直接通過 header 生成 excel 文件的代碼示例:

?php

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

header("Content-Disposition:filename=xls_region.xls");

$cfg_dbhost?=?'localhost';

$cfg_dbname?=?'testdb';

$cfg_dbuser?=?'root';

$cfg_dbpwd?=?'root';

$cfg_db_language?=?'utf8';

//?END?配置

//鏈接數(shù)據(jù)庫

$link?=?mysql_connect($cfg_dbhost,$cfg_dbuser,$cfg_dbpwd);

mysql_select_db($cfg_dbname);

//選擇編碼

mysql_query("set?names?".$cfg_db_language);

//users表

$sql?=?"desc?users";

$res?=?mysql_query($sql);

echo?"tabletr";

//導(dǎo)出表頭(也就是表中擁有的字段)

while($row?=?mysql_fetch_array($res)){

$t_field[]?=?$row['Field'];?//Field中的F要大寫,否則沒有結(jié)果

echo?"th".$row['Field']."/th";

}

echo?"/tr";

//導(dǎo)出100條數(shù)據(jù)

$sql?=?"select?*?from?users?limit?100";

$res?=?mysql_query($sql);

while($row?=?mysql_fetch_array($res)){

echo?"tr";

foreach($t_field?as?$f_key){

echo?"td".$row[$f_key]."/td";

}

echo?"/tr";

}

echo?"/table";

?

怎么使用php把表格中的數(shù)據(jù)導(dǎo)入到excel中

下面是我寫的一個PHP導(dǎo)出數(shù)據(jù)到CSV問價的函數(shù),你到時候直接調(diào)用就行了

/**

*?導(dǎo)出CSV文件

*?@param?string?$fileName 文件名字

*?@param?string|array?$data?導(dǎo)出數(shù)據(jù),csv格式的字符串|數(shù)值數(shù)組

*?@param?string?$to_encoding?目標(biāo)轉(zhuǎn)換編碼

*?@param?string?$from_encoding?當(dāng)前編碼

*/

function?exportCSV($fileName?=?'',?$data?=?'',?$to_encoding?=?'gb2312',?$from_encoding?=?'utf-8')?{

$fileName?=?empty($fileName)???date('YmdHis')?:?$fileName;

//?文件標(biāo)簽

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?($data?as?$v)?{

if(is_array($v))?{

foreach?($v?as?$vo)?{

$str?.=?(is_numeric($vo)???"'".$vo?:?$vo."").",";

}

$str?=?trim($str,?",")."\r\n";

}?else?{

$str?.=?(is_numeric($v)???"'".$v?:?$v).",";

}

}

$str?=?trim($str,?",")."\r\n";

}?else?{

$str?=?$data;

}

}

echo?mb_convert_encoding($str,?"gb2312",?"utf-8");

exit;

}

PHP怎么將表格的數(shù)據(jù)保存到數(shù)據(jù)庫

看你的表格,只需要從表單中循環(huán)取出所有行,然后依次寫入數(shù)據(jù)庫就行了

假設(shè)表單中是:txt1[] txt2[]......

通過$a=$_POST["txt1[]"]取得值,然后循環(huán)寫入:

for($t=0;$t=count($a)-1;$t++){

// insert into 表 (字段1,......) values ('$a[$t]',.....)

}

至于打印,在JS中直接windows.print就行了

網(wǎng)頁題目:php里怎么用表格數(shù)據(jù),php建表格
路徑分享:http://muchs.cn/article46/hssoeg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、虛擬主機(jī)Google、定制開發(fā)、域名注冊營銷型網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)