當前位置:首頁 » 編程語言 » phpexceltable

phpexceltable

發布時間: 2022-11-03 14:57:32

『壹』 通過table標簽,php輸出EXCEL的實現方法 缺陷修改,在線等

通過table標簽,PHP輸出EXCEL的實現方法 缺陷修改
<?php
header("Content-type:application/vnd.ms-excel");
header("Conten-Disposition:filename=hp.xlsx");
?>

『貳』 請教PHPExcel的問題

1、$objPayable->getFont()->setColor( new PHPExcel_Style_Color( PHPExcel_Style_Color::COLOR_DARKGREEN ) );能夠設置顏色。
2、合並後的單元格坐標是原最左上角的單元格,如合A1:B2合並後坐標是A1。
3、照你的提示信息,應該是你沒有給出坐標。如$objPHPExcel->getActiveSheet()->setCellValue('A1', 'Hello');中你並沒有指定A1這個參數。檢查你用在此處的PHP變數是否引用正確(如拼寫錯誤等)。

『叄』 使用phpexcel導入excel表格數據到MYsql,亂碼怎麼解決

如果你要求的excle表格不是很復雜 .可以用html的table表格來實現.因為excle的兼容性可以打開xml文檔.所以你可以使用html文件來當做excle文件.如果比較復雜 ,就要使用phpexcle了
這個是網頁自動導出的基本思路
如果只是導出幾個少數的表和內容
你可以使用phpmyadmin的導出功能.能夠實現導出excle文檔.

『肆』 PHP如何導出Excel文件

昨天項目里有個新需求,客戶希望把一些數據能導出成為Excel表格,剛開始用PHP原生輸入Excel表格,發現效果不是很理想,於是找到一個比較著名的庫:PHPExcel。下面是一個簡單的demo,分享給大家,希望可以幫到有同樣需求的朋友。

1.網路:phpexcel,結果如圖所示,點擊第一個結果;
PHP導出Excel,PHP輸入Excel

2.進入官網後,找到右邊的download按鈕,下載,下載完成的是一個壓縮文件,解壓放到你的項目目錄里,根據個人情況而定;
PHP導出Excel,PHP輸入Excel
PHP導出Excel,PHP輸入Excel

3.因為這里給大家做演示,所以建了一個測試文件,有點基礎的都能明白是怎麼回事,下面進入代碼;
PHP導出Excel,PHP輸入Excel

4.

//引入PHPExcel庫文件(路徑根據自己情況)

include './phpexcel/Classes/PHPExcel.php';

//創建對象

$excel = new PHPExcel();

//Excel表格式,這里簡略寫了8列

$letter = array('A','B','C','D','E','F','F','G');

//表頭數組

$tableheader = array('學號','姓名','性別','年齡','班級');

//填充表頭信息

for($i = 0;$i < count($tableheader);$i++) {

$excel->getActiveSheet()->setCellValue("$letter[$i]1","$tableheader[$i]");

}

PHP導出Excel,PHP輸入Excel

5.

//表格數組

$data = array(

array('1','小王','男','20','100'),

array('2','小李','男','20','101'),

array('3','小張','女','20','102'),

array('4','小趙','女','20','103')

);

//填充表格信息

for ($i = 2;$i <= count($data) + 1;$i++) {

$j = 0;

foreach ($data[$i - 2] as $key=>$value) {

$excel->getActiveSheet()->setCellValue("$letter[$j]$i","$value");

$j++;

}

}

PHP導出Excel,PHP輸入Excel

6.

//創建Excel輸入對象

$write = new PHPExcel_Writer_Excel5($excel);

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/vnd.ms-execl");

header("Content-Type:application/octet-stream");

header("Content-Type:application/download");;

header('Content-Disposition:attachment;filename="testdata.xls"');

header("Content-Transfer-Encoding:binary");

$write->save('php://output');

PHP導出Excel,PHP輸入Excel

7.打開頁面,刷新的時候會彈出對話框,讓你選擇文件保存路徑和文件名稱,我直接放在了桌面上,如圖所示;
PHP導出Excel,PHP輸入Excel
PHP導出Excel,PHP輸入Excel

8.打開表格後,數據和格式跟代碼中的一致,說明PHP導出的Excel是正確的。如果出現錯誤,檢查一下你的表格數組和數據數組吧。
PHP導出Excel,PHP輸入Excel

『伍』 phpExcel導出,少了中間一列,求教這是怎麼回事呀,被寫入的數組的數據是沒有缺少的

你的 $letter = array('A','B','C','D','E','F','F','G','H','I','J','K','L'); 怎麼有兩個 F 列?

『陸』 php 用table導出xls 單元格沒有合並

table導出的就是這樣,PHP導出EXCEL我都是使用PHPEXCEL來操作。
雖然比直接改header生成xls麻煩了,但是支持的功能夠多。
偷懶的話我就直接前端生成xls。

最後,你把客戶信用卡信息透露出來,不怕銀監會調查你們嗎?

『柒』 如何用phpexcel導出格式表

1.網路:phpexcel,結果如圖所示,點擊第一個結果;

2.進入官網後,找到右邊的download按鈕,下載,下載完成的是一個壓縮文件,解壓放到你的項目目錄里,根據個人情況而定;

3.因為這里給大家做演示,所以建了一個測試文件,有點基礎的都能明白是怎麼回事,下面進入代碼;

4.
//引入PHPExcel庫文件(路徑根據自己情況)
include './phpexcel/Classes/PHPExcel.php';
//創建對象
$excel = new PHPExcel();
//Excel表格式,這里簡略寫了8列
$letter = array('A','B','C','D','E','F','F','G');
//表頭數組
$tableheader = array('學號','姓名','性別','年齡','班級');

//填充表頭信息
for($i = 0;$i < count($tableheader);$i++) {
$excel->getActiveSheet()->setCellValue("$letter[$i]1","$tableheader[$i]");
}

5.
//表格數組
$data = array(
array('1','小王','男','20','100'),
array('2','小李','男','20','101'),
array('3','小張','女','20','102'),
array('4','小趙','女','20','103')
);
//填充表格信息
for ($i = 2;$i <= count($data) + 1;$i++) {
$j = 0;
foreach ($data[$i - 2] as $key=>$value) {
$excel->getActiveSheet()->setCellValue("$letter[$j]$i","$value");
$j++;
}
}

『捌』 PHPExcel 怎麼設置圖表的次坐標啊

什麼是次坐標? 坐標不是A2,B2這種嗎?

<?php
namespace system\models;
use PYP;
use lib\app\CModel;
use system\models\Seed;
use lib\db\Exception;

class Execl extends CModel{

/*
*將數組導出生成execl
*$head 表頭,相當於欄位名 數組
*$data 數據 數組
*/
function exportexecl($head,$data){
// 創建一個處理對象實例
$objExcel = new \lib\app\Report();
//計算數據條數
$leng = count($data);

$PHPExcel_Cell_DataType=PYP::getAttr('PHPExcel_Cell_DataType');
/*設置當前的sheet索引,用於後續的內容操作。
*一般只有在使用多個sheet的時候才需要顯示調用。
*預設情況下,PHPExcel會自動創建第一個sheet被設置SheetIndex=0
*/
if($leng>5000){
$t = floor($leng/5000) + 1;
for($sheet = 0; $sheet <= $t; $sheet++)
{
$objExcel->setActiveSheetIndex(0);
$objActSheet = $objExcel->getActiveSheet();
//設置當前活動sheet的名稱
$objActSheet->setTitle('sheet'.$sheet);
//設置單元格內容
//由PHPExcel根據傳入內容自動判斷單元格內容類型
$objExcel->getActiveSheet()->getDefaultStyle()->getFont()->setName('Arial')->setSize(10);
$i = 'a';
foreach($head as $title){
$objActSheet->setCellValue($i . '1',$title );
$i++;
}
$j = 2;
foreach ($data as $row){
$i = 'a';
foreach ($row as $cell){
$objActSheet->setCellValueExplicit($i . $j,(string)$cell,$PHPExcel_Cell_DataType::TYPE_STRING);
$i++;
}
$j++;

}
}
}else{
$objExcel->setActiveSheetIndex(0);
$objActSheet = $objExcel->getActiveSheet();
//設置當前活動sheet的名稱
$objActSheet->setTitle('sheet1');
//設置單元格內容
//由PHPExcel根據傳入內容自動判斷單元格內容類型
$objExcel->getActiveSheet()->getDefaultStyle()->getFont()->setName('Arial')->setSize(10);
$i = 'a';
foreach($head as $title){
$objActSheet->setCellValue($i . '1',$title );
$i++;
}
$j = 2;
foreach ($data as $row){
$i = 'a';
foreach ($row as $cell){
$objActSheet->setCellValueExplicit($i . $j,(string)$cell,$PHPExcel_Cell_DataType::TYPE_STRING);
$i++;
}
$j++;

}

}
//輸出內容
//$objWriter = new PHPExcel_Writer_Excel5($objExcel);
$objExcel->save();
$filename = $objExcel->getFile();
$file = "http://" . ROOT_URL . '/reports/'.$filename . '.xls';
return $file;
}

/*
*進行數據檢查,查看execl中的數據是否合法
*將得到的execl中獲得的數組插入到資料庫臨時表中,
*能插入在數據正確,不能再數據錯誤,並記錄改行數據的數組編號
*return $data 原數組數據
* $data['result'] 數據驗證結果
* $data['errormsg'] 數據有錯誤是,返回的數據錯誤行數
*/
function importexecl_check($fileadd,$tablename,$colums,$session_id){
//獲取execl 文本信息,並轉換成數組

$object=PYP::getAttr('PHPExcel_CachedObjectStorageFactory');
$cacheMethod = $object::cache_in_memory_gzip;
$cacheSettings = array();
$object=PYP::getAttr('PHPExcel_Settings');
$object::setCacheStorageMethod($cacheMethod,$cacheSettings);
$object=PYP::getAttr('PHPExcel_IOFactory');
$objPHPExcel = $object::load($fileadd);
$data = $objPHPExcel->getSheet(0)->toArray();

//初始化計數變數,當有錯誤的數據數量超過20條時,則停止繼續插入數據,跳出返還結果
$count = 0;
//初始化數據檢查結果,如果數據不符合規則,則返回flase
$result = true;
//初始化接受數據變數,最後將execl中的數據返還
$return = array();

//var_mp($data);die;
$lengc = count($colums);
$lengd = count($data[0]);
if($lengc != $lengd){
$return['result'] = false;
$return['errormsg'] = '您上傳的execl不符合規格';
return $return;
}

//對表的欄位進行處理
$leng = count($data);
$colums = implode(',',$colums);
$colums .= ' ,SessionID';
$tablename .= '_i';

//遍歷數據,檢查數據是否符合規格
for ($i =1 ;$i < $leng;$i++){
$value = '';
foreach($data[$i] as $v){
$value .= "\"" . self::signReplace($v) . "\",";
}
$return['data'][] = $data[$i];
$value .= "'" . $session_id . "'";
$sql = "INSERT INTO $tablename ($colums) VALUES($value)" ;
try{
$result = self::queryEx($sql);
}catch (Exception $e){
$result = false;
}
if(!$result){
$result = false;
$errormsg[] = $i;
$count++;
if($count >20){
break;
}
continue;
}
}
//返回結果 @result ----數據是否有錯誤
// @errormsg -- 如果有錯誤,說明錯誤所在行數
$return['result'] = $result;
if(isset($errormsg)){
$return['errormsg'] = $errormsg;
}else{
$return['errormsg'] = null;
}

//清除本次操作資料庫插入的臨時表數據
$sql = "delete from " .$tablename. " where SessionID = " .$session_id ;
self::queryEx($sql);

return $return;
}

/*
* 獲取execl中的數據
* @path exel路徑
*/
public function getexecl($path){
$object=PYP::getAttr('PHPExcel_CachedObjectStorageFactory');
$cacheMethod = $object::cache_in_memory_gzip;
$cacheSettings = array();
$object=PYP::getAttr('PHPExcel_Settings');
$object::setCacheStorageMethod($cacheMethod,$cacheSettings);
$object=PYP::getAttr('PHPExcel_IOFactory');
$objPHPExcel = $object::load($path);
$data = $objPHPExcel->getSheet(0)->toArray();
$leng = count($data);
$data = array_slice($data,1,$leng-1);
return $data;
}

/*導入到資料庫*/
public function importexcle($tablename,$colums,$key,$data,$dbkey){

//初始化返回結果
$result = array();
$result['result'] = true;
//查找邏輯key 所在的列
foreach ($colums as $k => $v){
if($v == $key){
$datakey = $k;
}
}
if(!isset($datakey)){
$result['result'] = false;
$result['errormsg'] = "表中欄位沒有業務key" ;
return $result;
}

$leng = count($data);
$columstr = implode(',',$colums);
$columstr .= ' ,' .$dbkey ;

//插入或者更新execl數據
foreach ($data as $k => $v){
if(empty($v[$datakey])){
$result['result'] = false;
$result['errormsg'][] = "業務編號不能為空或者不能為0" ;
break;
}
$sql = "SELECT " . $key . " from " . $tablename . " where " . $key . " = \"" . self::signReplace($v[$datakey]) . "\"";
$count = self::query($sql);
if (empty($count)){
$str = '';
foreach($v as $cell){
if($cell === '' || $cell === null ){
$str .= 'null' . ',';
}else{
$str .= "\"" . self::signReplace((string)$cell) . "\",";
}

}

$seedid = Seed::GetSeedId($dbkey);
$str .= "'" . $seedid . "'";

$sql = "INSERT INTO " . $tablename ." (" . $columstr .") VALUES(" .$str .")" ;
try{
self::queryEx($sql);
}
catch(Exception $e)
{
$result['result'] = false;
$result['errormsg'][] = $k;
}
}
else{
$sql = "update " . $tablename ." set " ;
foreach ($v as $ck => $cv){
if($colums[$ck] === '' || $colums[$ck] === null){
$sql .= $colums[$ck] . ' = null ,';
}else{
$sql .= $colums[$ck] ." = \"" . self::signReplace((string)$cv) ."\", ";
}
}
$sql = substr($sql,0,-2);
$sql .= " where " . $colums[$datakey] . " = \"" . self::signReplace($v[$datakey]) . "\"";
try{
self::queryEx($sql);
}
catch (Exception $e){
$result['result'] = false;
$result['errormsg'][] = $k;
}
}
}
return $result;
}

/*導入到資料庫*/
public function excleinsert($tablename,$colums,$data,$dbkey){

//初始化返回結果
$result = array();
$result['result'] = true;

$leng = count($data);
$columstr = implode(',',$colums);
$columstr .= ' ,' .$dbkey ;

$lengc = count($colums);
$lengd = count($data[0]);
if($lengc != $lengd){
$return['result'] = false;
$return['errormsg'] = '您上傳的execl不符合規格';
return $return;
}
//插入execl數據

foreach ($data as $k => $v){
$str = '';

foreach($v as $cell){
$str .= "\"" . self::signReplace((string)$cell) . "\",";
}
$seedid = Seed::GetSeedId($dbkey);
$result['dbkey'][] = $seedid;
$str .= "'" . $seedid . "'";
$sql = "INSERT INTO " . $tablename ." (" . $columstr .") VALUES(" .$str .")" ;
try{
self::queryEx($sql);
}
catch(Exception $e)
{
$result['result'] = false;
$result['errormsg'][] = $k;
}
}

return $result;
}

}

『玖』 在用phpexcel,windows下可導出表格,linux下無任何反應,無報錯

用PHPExcel,PHPExcel是相當強大的 MS Office Excel 文檔生成類庫。

你上它的官/網把程序包下/載下來,裡面有 PHPExcel 的程序、還有30個實常式序和三個文檔。
看一下其中的開發文檔你就會用了。

讀取(這段在開發文檔里有的,在13頁):
require_once '../Classes/PHPExcel/IOFactory.php';

$objReader = PHPExcel_IOFactory::createReader('Excel2007');
$objReader->setReadDataOnly(true);

$objPHPExcel = $objReader->load("test.xlsx");
$objWorksheet = $objPHPExcel->getActiveSheet();

echo '<table>' . "\n";
foreach ($objWorksheet->getRowIterator() as $row) {
echo '<tr>' . "\n";
$cellIterator = $row->getCellIterator();
$cellIterator->setIterateOnlyExistingCells(false);
foreach ($cellIterator as $cell) {
echo '<td>' . $cell->getValue() . '</td>' . "\n";
}
echo '</tr>' . "\n";
}
echo '</table>' . "\n";
?>

『拾』 如何用PHPExcel讀取超大excel文件

上一篇文章介紹了php-excel-reader讀取excel文件的方法,因為需要,將excel這樣的數據: 新建資料庫表如下: -- 資料庫: `alumni` -- 表的結構 `alumni` CREATE TABLE IF NOT EXISTS `alumni` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `gid` varchar(20) DEFAULT NULL COMMENT '檔案編號', `student_no` varchar(20) DEFAULT NULL COMMENT '學號', `name` varchar(32) DEFAULT NULL, PRIMARY KEY (`id`), KEY `gid` (`gid`), KEY `name` (`name`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; 導入後資料庫結果如下: php源碼如下: 復制代碼 代碼如下: <?php header("Content-Type:text/html;charset=utf-8"); require_once 'excel_reader2.php'; set_time_limit(20000); ini_set("memory_limit","2000M"); //使用pdo連接資料庫 $dsn = "mysql:host=localhost;dbname=alumni;"; $user = "root"; $password = ""; try{ $dbh = new PDO($dsn,$user,$password); $dbh->query('set names utf8;'); }catch(PDOException $e){ echo "連接失敗".$e->getMessage(); } //pdo綁定參數操作 $stmt = $dbh->prepare("insert into alumni(gid,student_no,name) values (:gid,:student_no,:name) "); $stmt->bindParam(":gid", $gid,PDO::PARAM_STR); $stmt->bindParam(":student_no", $student_no,PDO::PARAM_STR); $stmt->bindParam(":name", $name,PDO::PARAM_STR); //使用php-excel-reader讀取excel內容 $data = new Spreadsheet_Excel_Reader(); $data->setOutputEncoding('UTF-8'); $data->read("stu.xls"); for ($i = 1; $i <= $data->sheets[0]['numRows']; $i++) { for ($j = 1; $j <= 3; $j++) { $student_no = $data->sheets[0]['cells'][$i][1]; $name = $data->sheets[0]['cells'][$i][2]; $gid = $data->sheets[0]['cells'][$i][3]; } //將獲取的excel內容插入到資料庫 $stmt->execute(); } echo "執行成功"; echo "最後插入的ID:".$dbh->lastInsertId(); ?> 考慮到excel的量比較大,使用了PDO的綁定操作!

熱點內容
c語言源程序的基本單位 發布:2025-01-10 16:47:37 瀏覽:285
王者安卓賬號如何換到蘋果 發布:2025-01-10 16:34:47 瀏覽:729
c語言lua 發布:2025-01-10 16:34:46 瀏覽:206
我的世界檢測伺服器人員 發布:2025-01-10 16:32:30 瀏覽:832
資料庫表模板 發布:2025-01-10 16:22:21 瀏覽:356
郵政新農合社保卡初始密碼多少 發布:2025-01-10 16:01:32 瀏覽:143
安卓系統哪個最商務 發布:2025-01-10 15:49:28 瀏覽:910
填色腳本實例 發布:2025-01-10 15:34:21 瀏覽:759
如何配置燒烤 發布:2025-01-10 15:34:13 瀏覽:54
python列表相乘 發布:2025-01-10 15:31:33 瀏覽:322