重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
由于你沒給出具體的頁面,我只能給你一個通用的獲取方法,有些頁面可能有多個表格,這時需要你多加一些參數進行過濾了,其實個人首推正則匹配獲取,示例代碼:
成都創新互聯公司主營溪湖網站建設的網絡公司,主營網站建設方案,成都APP應用開發,溪湖h5微信小程序定制開發搭建,溪湖網站營銷推廣歡迎溪湖等地區企業咨詢
$url?=?"";????//換成你自己需要獲取的頁面地址
$content?=?file_get_contents($url);
preg_matches("/table([.\n]+)\/table/",$contents,$matches);
echo?$matches[0];?//即為表單內容
常用的用PHP讀取EXCEL的方法有以下三種,各自有各自的優缺點。個人推薦用第三種方法,因為它可以跨平臺使用。\x0d\x0a\x0d\x0a1. 以.csv格式讀取\x0d\x0a\x0d\x0a將.xls轉換成.csv的文本格式,然后再用PHP分析這個文件,和PHP分析文本沒有什么區別。\x0d\x0a\x0d\x0a優點:跨平臺,效率比較高、可以讀寫。\x0d\x0a\x0d\x0a缺點:只能直接使用.csv的文件,如果經常接受.xls二進制文件的話需要手工轉換,不能自動化。一個文件只有一個SHEET。\x0d\x0a\x0d\x0aPHP有自帶的分析.csv函數:fgetcsv\x0d\x0a\x0d\x0aarray fgetcsv ( int $handle [, int $length [, string $delimiter [, string $enclosure]]] )\x0d\x0a\x0d\x0ahandle 一個由 fopen()、popen() 或 fsockopen() 產生的有效文件指針。\x0d\x0a\x0d\x0alength (可選)必須大于 CVS 文件內最長的一行。在 PHP 5 中該參數是可選的。如果忽略(在 PHP 5.0.4 以后的版本中設為 0)該參數的話,那么長度就沒有限制,不過可能會影響執行效率。\x0d\x0a\x0d\x0adelimiter (可選)設置字段分界符(只允許一個字符),默認值為逗號。\x0d\x0a\x0d\x0aenclosure (可選)設置字段環繞符(只允許一個字符),默認值為雙引號。該參數是在 PHP 4.3.0 中添加的。 和 fgets() 類似,只除了 fgetcsv() 解析讀入的行并找出 CSV 格式的字段然后返回一個包含這些字段的數組。\x0d\x0a\x0d\x0afgetcsv() 出錯時返回 FALSE,包括碰到文件結束時。\x0d\x0a\x0d\x0a注意: CSV 文件中的空行將被返回為一個包含有單個 null 字段的數組,不會被當成錯誤。\x0d\x0a\x0d\x0a當然也可以自己手動分析字符串。\x0d\x0a\x0d\x0a還可以利用fputcsv函數將行格式化為 CSV 并寫入文件指針。\x0d\x0a\x0d\x0a2. ODBC鏈接數據源\x0d\x0a\x0d\x0a優點:支持多種格式,cvs, xls等。支持讀寫,使用標準SQL語言,和SQLSERVER、MYSQL數據庫幾乎完全一樣。\x0d\x0a\x0d\x0a缺點:值支持windows服務器\x0d\x0a\x0d\x0a3. PHP自定義類\x0d\x0a\x0d\x0a優點:跨平臺。某些類支持寫操作。支持.xls二進制文件\x0d\x0a\x0d\x0a常用的類有phpExcelReader、PHPExcel。其中后者支持讀寫,但是需要php5.2以上版本。\x0d\x0a\x0d\x0aphpExcelReader是專門用來讀取文件的。返回一個數組,包含表格的所有內容。\x0d\x0a\x0d\x0a該 class 使用的方法可以參考網站下載回來的壓縮檔中的 example.php。\x0d\x0a\x0d\x0a不過我下載回來的 (版本 2009-03-30),有兩點要注意:\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 中\x0d\x0a\x0d\x0a修改 $data-setOutputEncoding(’CP1251′);\x0d\x0a\x0d\x0a為 $data-setOutputEncoding(’CP936′);\x0d\x0a\x0d\x0aexample2.php 中\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 應該是壞了。
完整的PHP代碼如下:
?php
//1.獲得參數,你看你需要修改為$_GET等方式獲得
$start=-23.4;
$stop=55.8;
$r_start=11.0;
$r_stop=12.2;
$maxj=7;
//2.輸出表格
$i=0;//行號
echo?'table';
while?(1){
$j=0;//列號
$resist=$r_start;
$d_line='tr?bgcolor=#00ff00td'.$start.'℃';;
$h_line='tr?bgcolor=#00fffftdResistance/Degres';
while?($j$maxj){
$val?=?((11+$resist)*exp(4200.0*((1/(273.15+$start)-(1/(25+273.15))))));
$h_line.='td'.$resist.'Ω';
$d_line.='td?bgcolor='.($start0?'#ffff00':'0000ff').''.$val;
$resist+=0.2;
if?($resist$r_stop)?break;
$j++;
}
if?($i==0)echo?$h_line;
echo?$d_line;
if?($start=$stop)?break;
$start+=10;
if?($start$stop)?$start=$stop;
$i++;
}
echo?'/table';
?
你的公式可能理解錯誤,怎么會每一行都只與開始溫度-23.4有關呢,不是用當前溫度計算嗎,結果數值與你的有差異。