php查詢excel
❶ 請問php怎樣實現將查詢的數據導出到excel用php代碼如何寫呢
PHP
怎麼樣導出到EXCEL的代碼,可以如下寫法,如果幫到你的話,請採納我的答案:
<?php
header("Content-type:application/vnd.ms-excel");
header("Content-Disposition:attachment;filename=test_data.xls");
//輸出內容如下:
echo
"姓名"."\t";
echo
"年齡"."\t";
echo
"學歷"."\t";
echo
"\n";
echo
"張三"."\t";
echo
"25"."\t";
echo
"本科"."\t";
?>
上面輸出的內容,你可以從資料庫上調用出來。
❷ php讀取excel,excel下多個個工作表,該怎麼讀取
php有個PHPExcel擴展,是可以實現你的要求的。
我這里有個可以讀取多個工作薄的自定義excel類,試試看:
<?php
/**
*excel.class.php
*/
class Excel
{
/**
* 從excel文件中取得所有數據。並轉換成指定編碼格式。
* $toCode 表示需要轉換成的編碼格式,目前擴充了utf8,gbk2312,html三種格式。
* @return 返回二維數組。
*/
static function getDataFromExl($filePath,$toCode = "utf8")
{
$fh = @fopen($filePath,'rb');
if( !$fh || filesize($filePath)==0 )
{
return -1; //文件不可讀或者為空
}
$fc = fread( $fh, filesize($filePath) );
@fclose($fh);
if( strlen($fc) < filesize($filePath) )
{
return -2; //讀取錯誤
}
$exc = new ExcelFileParser();
$res = $exc->ParseFromString($fc);
$ws_number = count($exc->worksheet['name']);//取得工作薄數量
if( $ws_number < 1 )
{
return -3;
}
for ($ws_n = 0; $ws_n < $ws_number; $ws_n++)
{
$ws = $exc -> worksheet['data'][$ws_n];
$data = $ws['cell'];
foreach($data as $k=>$v) //一行數據
{
$row = null;
foreach($v as $a=>$d) //一行數據的一個位元組
{
$value = null;
if(count($d) == 1)
{
continue;
}
if($d['type'] == 0) //如果是字元類型則轉換成為指定編碼格式
{
$ind = $d['data'];
if( $exc->sst['unicode'][$ind] ) //返回數據編碼格式
{
switch($toCode)
{
case "utf8":
$s = Strings::uc2utf8($exc->sst['data'][$ind]);
break;
case "gbk":
$s = Strings::uc2gbk($exc->sst['data'][$ind]);
break;
case "html":
$s = Strings::uc2html($exc->sst['data'][$ind]);
break;
default:
$s = Strings::uc2utf8($exc->sst['data'][$ind]);
break;
}
}
else
{
$s = $exc->sst['data'][$ind];
}
if( strlen(trim($s))==0 || $s === null )
{
$value = '';
}
else
{
$value = $s;
}
}
elseif($d['type'] == 3)
{
$time_list = explode('.', $d['data']);
$time_format = $time_list[2].'-'.$time_list[0].'-'.$time_list[1];
$timestamp = strtotime($time_format);
$value = date("Y-m-d H:i:s", $timestamp);
}
else
{
$value = $d['data'];
}
$row[$a] = $value;
}
$recordList[] = $row;
}
}
return $recordList;
}
}
require_once('./excel.class.php');
$emailData = Excel::getDataFromExl($_FILES['file_name']['tmp_name']);
❸ php 如何將查詢結果導出到Excel中
如果是oracle
sql
developer的話,在查詢結果哪兒,用右鍵,可以導出成excel的。
如果用pl/sql
developer、toad之類的,也可以將查詢結果導出成excel
pl/sql
developer還可以直接查詢結果,到excel中粘貼。
如果用navicat
for
oracle,可以使用導出的方法。
❹ PHP如何將查詢出來的數據導出成excel表格(最好做一個按鈕)
講的復雜了啊!
你先在一個完整版的PHPExcel之後解壓,在「Examples」目錄下會找到一大堆例子,根據你的要求這個「01simple-download-xlsx.php」文件就可以了!
註:你先保持「01simple-download-xlsx.php」文件所在的目錄位置不要變,測試好了,再改變名,移到別的地方,地方變了的話,文件里的 「require_once dirname(__FILE__) . '/../Classes/PHPExcel.php';」的所在位置也要變!
我們要改動代碼很少,如下:
// Add some data
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('A1', 'Hello')
->setCellValue('B2', 'world!')
->setCellValue('C1', 'Hello')
->setCellValue('D2', 'world!');
// Miscellaneous glyphs, UTF-8
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('A4', 'Miscellaneous glyphs')
->setCellValue('A5', 'éàèùâêîôûëïüÿäöüç');
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
直接用的我的替換
$objPHPExcel->setActiveSheetIndex(0)//這個就是現實導出的表第一行,有幾列是根據你的那張表有幾列!
->setCellValue('A1', '單號')
->setCellValue('B1', '標題')
->setCellValue('C1', '內容')
->setCellValue('D1', '序列')
->setCellValue('E1', '數字');
//下面實現的就是建立資料庫連接,直接到表,你的連接資料庫、表、欄位應該與我的不一樣,你可以參考
$conn=@mysql_connect("localhost","root","root") or die("資料庫伺服器連接錯誤".mysql_error());//連接mysql資料庫
mysql_select_db("temp",$conn) or die("資料庫訪問錯誤".mysql_error());//資料庫
mysql_query("set character set gb2312");
mysql_query("set names gb2312");
$sqlgroups="select * from test ";//查詢這一張表的條件
$resultgroups=mysql_query($sqlgroups);
$numrows=mysql_num_rows($resultgroups);
if ($numrows>0)
{
$count=1;
while($data=mysql_fetch_array($resultgroups))
{
$count+=1;
$l1="A"."$count";
$l2="B"."$count";
$l3="C"."$count";
$l4="D"."$count";
$l5="E"."$count";
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue($l1, $data['id'])//這就是你要導出表的欄位、與對應的名稱
->setCellValue($l2, $data['title'])
->setCellValue($l3, $data['content'])
->setCellValue($l4, $data['sn'])
->setCellValue($l5, $data['num']);
}
}
❺ 怎麼用php把查詢出來的文件導出成excel表格的形式
用PHP EXCEL插件吧。
class ExcelToArrary extends Service{
public function __construct() {
/*導入phpExcel核心類 注意 :你的路徑跟我不一樣就不能直接復制*/
include_once('./Excel/PHPExcel.php');
}
/* 導出excel函數*/
public function push($data,$name='Excel'){
error_reporting(E_ALL);
date_default_timezone_set('Europe/London');
$objPHPExcel = new PHPExcel();
/*以下是一些設置 ,什麼作者 標題啊之類的*/
$objPHPExcel->getProperties()->setCreator("轉彎的陽光")
->setLastModifiedBy("轉彎的陽光")
->setTitle("數據EXCEL導出")
->setSubject("數據EXCEL導出")
->setDescription("備份數據")
->setKeywords("excel")
->setCategory("result file");
/*以下就是對處理Excel里的數據, 橫著取數據,主要是這一步,其他基本都不要改*/
foreach($data as $k => $v){
$num=$k+1;
$objPHPExcel->setActiveSheetIndex(0)
//Excel的第A列,uid是你查出數組的鍵值,下面以此類推
->setCellValue('A'.$num, $v['uid'])
->setCellValue('B'.$num, $v['email'])
->setCellValue('C'.$num, $v['password'])
}
$objPHPExcel->getActiveSheet()->setTitle('User');
$objPHPExcel->setActiveSheetIndex(0);
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="'.$name.'.xls"');
header('Cache-Control: max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output');
exit;
}
❻ excel中的數據如何用php在網頁中查詢!(excel,php,網頁, 查詢)
(1)
假定你的數據在csv文件books.csv中,格式如下:
php入門,ISbn82742
excel教程,ISbn827342
(2)讀取文件到數組中,形成以KEY=>value的格式.並且查找輸出.
<?php
$book_contents = file("test.csv");//讀取文件到數組
$books = array();
foreach($book_contents as $bitem){
$item = split(",",$bitem);
$books[$item[0]] = $item[1];//處理成 書名=>索書號的格式
}
$query_book_name = 'php入門1';//要查找到的內容.
$result = $books[$query_book_name];//如果找到,索書號就存在$result中,沒找到,$result就沒有定義.
if(isset($result)){
echo $result; //找到輸出.
}else{
echo "沒找到";
}
?>
❼ php+excel通用成績查詢系統+v6.8+sae怎麼使用
PHP+excel通用成績查詢系統是個極為簡單卻非常通用、非常方便的成績查詢系統,通用於幾乎所有Excel單二維數據表查詢。只需修改 查詢條件和頂部、底部文字(非常簡單),即可用於幾乎所有工資等查詢,成績查詢,物業查詢,收電費查詢,錄取查詢,證書查詢等場景哦。
使用的是PHPexcel查詢Excel,測試可用,可能速度偏慢(千條數據無影響)
直接查詢Excel數據的第一個表,修改表格後FTP上傳,快速搞定,非常方便。
當然linux可能xls文件可以倍下載,如果保密數據,請做防下載處理哦。
sae直接上傳代碼包即可和演示一樣的效果,讓你可以免費實現查詢系統
(免費代碼+免費二級域名+免費sae空間)
其他linux PHP環境,如果亂碼請用utf-8字元集上傳。
1.非常通用。無論你Excel/Wps二維表幾列,列標題各是什麼,直接支持。其他格式導出為csv或excel後同樣支持。查詢結果幾乎都由你Excel二維表控制,平時只需維護好你的Excel表,而操作Excel,幾乎每台電腦都有軟體可以打開編輯,幾乎誰都會操作。
2.使用簡單。只需修改查詢條件和標題,然後把你平時輸入的excel二維表進行:復制,粘貼,更名,上傳,特別方便,發布一次成績查詢,半分鍾內可以解決。修改查詢查詢條件等,記事本打開編輯幾個字即可,自定義是否使用驗證碼。
3.市場廣泛。可以廣泛用於一次性出來的改動很少的成績查詢,錄取查詢,證書查詢系統(每個學校,教育機構,事業單位考試等都可以用到),工資查詢系統(每個企業,學校,所有單位都可能用到),水電費查詢系統等(小區,物業公司,大學寢室等),錄取,證書查詢系統。
4.使用靈活:支持多次查詢,比如工資查詢往往多月查詢,那麼你只需一個月放一個資料庫,下拉的查詢選項自動獲取(選項即文件名);且每次查詢除了設置的查詢條件列的標題得一致外,其他的都是自定義可以不一樣(任意列數,任意列標題,任意行數);如果查詢條件不一致,將代碼文件復制一份後用不同文件夾命名,然後修改查詢條件即可使用。
http://www.2cto.com/ym/201605/63631.html
❽ PHP怎樣將查詢出來的數據導出成excel表格
根據下列編碼程序可以。
❾ php怎麼讀取excel 文件數據並輸出
PHPExcel
PHPExcel是用來操作Office Excel 文檔的一個PHP類庫,它基於微軟的OpenXML標准和PHP語言。可以使用它來讀取、寫入不同格式的電子表格,如 Excel (BIFF) .xls, Excel 2007 (OfficeOpenXML) .xlsx, CSV, Libre/OpenOffice Calc .ods, Gnumeric, PDF, HTML等等。
PHP讀取示例代碼
//獲取上傳的excel臨時文件
$path=$_FILES["file"]["tmp_name"];
//將臨時文件移動當前目錄,可自定義存儲位置
move_uploaded_file($_FILES["file"]["tmp_name"],$_FILES["file"]["name"]);
//將獲取在伺服器中的Excel文件,此處為上傳文件名
$path=$_FILES["file"]["name"];
//調用readExcel函數返回一個
二維數組
$exceArray=readExcel($path);
//創建一個讀取
excel函數
functionreadExcel($path){
//引入PHPExcel類庫
include'Classes/PHPExcel.php';
include'Classes/PHPExcel/IOFactory.php';
$type='Excel5';//設置為Excel5代表支持2003或以下版本,
Excel2007代表2007版
$xlsReader=PHPExcel_IOFactory::createReader($type);
$xlsReader->setReadDataOnly(true);
$xlsReader->setLoadSheetsOnly(true);
$Sheets=$xlsReader->load($path);
//開始讀取上傳到伺服器中的Excel文件,返回一個
二維數組
$dataArray=$Sheets->getSheet(0)->
toArray();
return$dataArray;
}
❿ PHP如何將查詢出來的數據導出成excel表格(最好做一個按鈕)
導出,一般是在頁面增加一個導出按鈕,然後點擊跳轉到另外一個頁面來實現導出的邏輯,在PHP中使用的框架通常是 PHPExcel ,官方的文檔很詳細,但是缺乏實用的DEMO。
近期項目正好接觸了同樣的需求,現已總結並將可用的代碼分享出來了。希望能夠幫助更多的人。
網頁鏈接