常用的用PHP讀取EXCEL的方法有以下三種,各自有各自的優(yōu)缺點(diǎn)。個(gè)人推薦用第三種方法,因?yàn)樗梢钥缙脚_使用。\x0d\x0a\x0d\x0a1. 以.csv格式讀取\x0d\x0a\x0d\x0a將.xls轉(zhuǎn)換成.csv的文本格式,然后再用PHP分析這個(gè)文件,和PHP分析文本沒有什么區(qū)別。\x0d\x0a\x0d\x0a優(yōu)點(diǎn):跨平臺,效率比較高、可以讀寫。\x0d\x0a\x0d\x0a缺點(diǎn):只能直接使用.csv的文件,如果經(jīng)常接受.xls二進(jìn)制文件的話需要手工轉(zhuǎn)換,不能自動化。一個(gè)文件只有一個(gè)SHEET。\x0d\x0a\x0d\x0aPHP有自帶的分析.csv函數(shù):fgetcsv\x0d\x0a\x0d\x0aarray fgetcsv ( int $handle [, int $length [, string $delimiter [, string $enclosure]]] )\x0d\x0a\x0d\x0ahandle 一個(gè)由 fopen()、popen() 或 fsockopen() 產(chǎn)生的有效文件指針。\x0d\x0a\x0d\x0alength (可選)必須大于 CVS 文件內(nèi)最長的一行。在 PHP 5 中該參數(shù)是可選的。如果忽略(在 PHP 5.0.4 以后的版本中設(shè)為 0)該參數(shù)的話,那么長度就沒有限制,不過可能會影響執(zhí)行效率。\x0d\x0a\x0d\x0adelimiter (可選)設(shè)置字段分界符(只允許一個(gè)字符),默認(rèn)值為逗號。\x0d\x0a\x0d\x0aenclosure (可選)設(shè)置字段環(huán)繞符(只允許一個(gè)字符),默認(rèn)值為雙引號。該參數(shù)是在 PHP 4.3.0 中添加的。 和 fgets() 類似,只除了 fgetcsv() 解析讀入的行并找出 CSV 格式的字段然后返回一個(gè)包含這些字段的數(shù)組。\x0d\x0a\x0d\x0afgetcsv() 出錯(cuò)時(shí)返回 FALSE,包括碰到文件結(jié)束時(shí)。\x0d\x0a\x0d\x0a注意: CSV 文件中的空行將被返回為一個(gè)包含有單個(gè) null 字段的數(shù)組,不會被當(dāng)成錯(cuò)誤。\x0d\x0a\x0d\x0a當(dāng)然也可以自己手動分析字符串。\x0d\x0a\x0d\x0a還可以利用fputcsv函數(shù)將行格式化為 CSV 并寫入文件指針。\x0d\x0a\x0d\x0a2. ODBC鏈接數(shù)據(jù)源\x0d\x0a\x0d\x0a優(yōu)點(diǎn):支持多種格式,cvs, xls等。支持讀寫,使用標(biāo)準(zhǔn)SQL語言,和SQLSERVER、MYSQL數(shù)據(jù)庫幾乎完全一樣。\x0d\x0a\x0d\x0a缺點(diǎn):值支持windows服務(wù)器\x0d\x0a\x0d\x0a3. PHP自定義類\x0d\x0a\x0d\x0a優(yōu)點(diǎn):跨平臺。某些類支持寫操作。支持.xls二進(jìn)制文件\x0d\x0a\x0d\x0a常用的類有phpExcelReader、PHPExcel。其中后者支持讀寫,但是需要php5.2以上版本。\x0d\x0a\x0d\x0aphpExcelReader是專門用來讀取文件的。返回一個(gè)數(shù)組,包含表格的所有內(nèi)容。\x0d\x0a\x0d\x0a該 class 使用的方法可以參考網(wǎng)站下載回來的壓縮檔中的 example.php。\x0d\x0a\x0d\x0a不過我下載回來的 (版本 2009-03-30),有兩點(diǎn)要注意:\x0d\x0a\x0d\x0areader.php 中的下面這行要修改\x0d\x0a\x0d\x0a將 require_once ‘Spreadsheet/Excel/Reader/OLERead.php’;\x0d\x0a\x0d\x0a改為 require_once ‘oleread.inc’;\x0d\x0a\x0d\x0aexample.php 中\(zhòng)x0d\x0a\x0d\x0a修改 $data-setOutputEncoding(’CP1251′);\x0d\x0a\x0d\x0a為 $data-setOutputEncoding(’CP936′);\x0d\x0a\x0d\x0aexample2.php 中\(zhòng)x0d\x0a\x0d\x0a修改 nl2br(htmlentities($data-sheets[$sheet]['cells'][$row][$col]));\x0d\x0a\x0d\x0a為 $table_output[$sheet] .= nl2br(htmlspecialchars($data-sheets[$sheet]['cells'][$row][$col]));\x0d\x0a\x0d\x0a不然中文會有問題。\x0d\x0a\x0d\x0a繁體的話可以修改為CP950、日文是CP932,具體可參考codepage說明。\x0d\x0a\x0d\x0a修改 $data-read(’jxlrwtest.xls’) 為自己的 excel 文件名,zip 檔中附的 jxlrwtest.xls 應(yīng)該是壞了。

成都創(chuàng)新互聯(lián)是一家專業(yè)提供天涯企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站制作、網(wǎng)站建設(shè)、成都h5網(wǎng)站建設(shè)、小程序制作等業(yè)務(wù)。10年已為天涯眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)的建站公司優(yōu)惠進(jìn)行中。
試下下面的就知怎實(shí)現(xiàn)了, 關(guān)鍵在input name:
form method="post"
input name="data[]" value="a" /
input name="data[]" value="b" /
input name="data[]" value="c" /
input type="submit /
/form
?php print_r($_POST['data']); ?
可以有兩個(gè)思路啊:
1、table放到form里邊,提交form表單即可
2、獲取table中要提交的內(nèi)容然后,然后ajax提交
elseif($paytypes=="Alipay"){
$url="alipay_".$paytypes."/alipayto.php?product=".$products."total_fee=".$total_fee."body=".$names."out_trade_no=".$out_trade_nos;
Header("Location:$url");
exit;
}
給個(gè)正則你
(?=td).*(?=/td)
接著再用preg_replace和strip_tags這兩個(gè)函數(shù)去掉不要的html標(biāo)簽
由于你沒給出具體的頁面,我只能給你一個(gè)通用的獲取方法,有些頁面可能有多個(gè)表格,這時(shí)需要你多加一些參數(shù)進(jìn)行過濾了,其實(shí)個(gè)人首推正則匹配獲取,示例代碼:
$url?=?"";????//換成你自己需要獲取的頁面地址
$content?=?file_get_contents($url);
preg_matches("/table([.\n]+)\/table/",$contents,$matches);
echo?$matches[0];?//即為表單內(nèi)容
網(wǎng)頁題目:php獲取table數(shù)據(jù) php中table
網(wǎng)頁路徑:http://chinadenli.net/article34/hijise.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、域名注冊、建站公司、用戶體驗(yàn)、外貿(mào)網(wǎng)站建設(shè)、定制開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)