麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 網(wǎng)站 > 建站經(jīng)驗(yàn) > 正文

PHP導(dǎo)入導(dǎo)出Excel代碼

2024-04-25 20:38:28
字體:
供稿:網(wǎng)友

一.導(dǎo)入

  導(dǎo)入需要使用能讀取Excel的組件,網(wǎng)上也有比較好的組件,這里分享我使用的:下載 提取碼:vxyn。(注意兩個(gè)文件有引用關(guān)系)

<?php

//傳入要導(dǎo)入的Excel的文件名

function import_to_DB($filename) {

require_once'reader.php';

$data = new Spreadsheet_Excel_Reader(); //創(chuàng)建讀取Excel的對(duì)象

$data->setOutputEncoding('utf-8'); //設(shè)置讀取Excel內(nèi)容后輸出的字符編碼

$data->read("data/Excel/{$filename}.xls");

$db = mysql_connect('localhost', '用戶名', '密碼') or die("Could not connect to database."); //連接數(shù)據(jù)庫

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

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

error_reporting(E_ALL ^ E_NOTICE);

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

echo $data->sheets[0]['cells'][$i][列數(shù)];

//這里可以把每一行相應(yīng)列的值插到數(shù)據(jù)庫中,如:

/*

$sql="insert "表名" values(對(duì)應(yīng)項(xiàng)...)";

mysql_query($sql);

可加上錯(cuò)誤判斷

*/

}

?>

總之,能夠讀出表格中每一行中的相應(yīng)列$data->sheets[0][行][列]的值,插入操作就好辦了。

二.導(dǎo)出

  導(dǎo)出可以利用MIME協(xié)議輕松導(dǎo)出表格文件,不用依賴任何組件。按如下格式設(shè)置header即可導(dǎo)出Excel,同時(shí)瀏覽器進(jìn)行下載

header('Content-type: text/html; charset=utf-8');

header("Content-type:application/vnd.ms-excel;charset=UTF-8"); //application/vnd.ms-excel指定輸出Excel格式

header("Content-Disposition:filename=表格文件名.xls"); //輸出的表格名稱

完整代碼如下:

<?php

header('Content-type: text/html; charset=utf-8');

header("Content-type:application/vnd.ms-excel;charset=UTF-8");

header("Content-Disposition:filename=表格文件名.xls");

$conn = mysql_connect("localhost","root","數(shù)據(jù)庫密碼") or die("不能連接數(shù)據(jù)庫");

mysql_select_db("數(shù)據(jù)庫名", $conn);

mysql_query("set names 'UTF-8'");

$sql="select * from 表名 where 條件";

$result=mysql_query($sql);

echo "表頭1t表頭2t表頭3n";

while($row=mysql_fetch_array($result)){

echo $row[0]."t".$row[1]."t".$row[2]."n";

}

?>

這里其實(shí)t就是換格,n就是換行。在一個(gè)網(wǎng)頁中設(shè)置這個(gè)php文件的鏈接,當(dāng)點(diǎn)擊時(shí)瀏覽器會(huì)自動(dòng)把傳過來的流保存為Excel文件。

PHPExcel 是用來操作Office Excel 文檔的一個(gè)PHP類庫,它基于微軟的OpenXML標(biāo)準(zhǔn)和PHP語言??梢允褂盟鼇碜x取、寫入不同格式的電子表格

導(dǎo)出類

PHPExcel類導(dǎo)出excel,同時(shí)對(duì)PHPExcel做了些精簡(jiǎn)處理,基本上可以滿足數(shù)據(jù)導(dǎo)出excel的功能

代碼如下:

<?php

//載入PHPExcel類

require './phpexcel/PHPExcel.php';

//創(chuàng)建一個(gè)excel對(duì)象實(shí)例

$objPHPExcel = new PHPExcel();

//設(shè)置文檔基本屬性

$objProps = $objPHPExcel->getProperties();

$objProps->setCreator("Lao Mao");

$objProps->setLastModifiedBy("Lao Mao");

$objProps->setTitle("Office XLS Test Document");

$objProps->setSubject("Office XLS Test Document, Demo");

$objProps->setDescription("Test document, generated by PHPExcel.");

$objProps->setKeywords("office excel PHPExcel");

$objProps->setCategory("Test");

//設(shè)置當(dāng)前的sheet索引,用于后續(xù)的內(nèi)容操作。

//一般只有在使用多個(gè)sheet的時(shí)候才需要顯示調(diào)用。

//缺省情況下,PHPExcel會(huì)自動(dòng)創(chuàng)建第一個(gè)sheet被設(shè)置SheetIndex=0

$objPHPExcel->setActiveSheetIndex(0);

//設(shè)置當(dāng)前活動(dòng)sheet的名稱

$objActSheet = $objPHPExcel->getActiveSheet();

$objActSheet->setTitle('測(cè)試Sheet');

//設(shè)置單元格內(nèi)容www.jb51.net

//這里的數(shù)據(jù)可以從數(shù)據(jù)庫中讀取,然后再做循環(huán)處理

$objPHPExcel->getActiveSheet()->SetCellValue('A1', 'a1');

$objPHPExcel->getActiveSheet()->SetCellValue('A2', 'a2');

$objPHPExcel->getActiveSheet()->SetCellValue('A3', 'a3');

$objPHPExcel->getActiveSheet()->SetCellValue('A4', 'a4');

$objPHPExcel->getActiveSheet()->SetCellValue('A5', 'a5');

$objPHPExcel->getActiveSheet()->SetCellValue('B1', 'b1');

$objPHPExcel->getActiveSheet()->SetCellValue('B2', 'b2');

$objPHPExcel->getActiveSheet()->SetCellValue('B3', 'b3');

$objPHPExcel->getActiveSheet()->SetCellValue('B4', 'b4');

$objPHPExcel->getActiveSheet()->SetCellValue('B5', 'b5');

$objPHPExcel->getActiveSheet()->SetCellValue('C1', 'c1');

$objPHPExcel->getActiveSheet()->SetCellValue('C2', 'c2');

$objPHPExcel->getActiveSheet()->SetCellValue('C3', 'c3');

$objPHPExcel->getActiveSheet()->SetCellValue('C4', 'c4');

$objPHPExcel->getActiveSheet()->SetCellValue('C5', 'c5');

//輸出文檔

$objWriter = new PHPExcel_Writer_Excel5($objPHPExcel);

//設(shè)置header頭部信息,并輸出到瀏覽器

//header('Content-Type: application/vnd.ms-excel');

//header("Content-Disposition:attachment; filename=demo.xls");

//header('Cache-Control: max-age=0');

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

//保存至某一位置

$objWriter->save(dirname(__FILE__) . '/demo.xls');

導(dǎo)入excel的方法:

代碼:

<?php

//載入PHPExcel類

include(dirname(__FILE__).'/phpexcel/PHPExcel.php');

$Obj = new PHPExcel_Reader_Excel5();

$Obj->setReadDataOnly(true);

//讀取demo.xls文件

$phpExcel = $Obj->load(dirname(__FILE__).'/output.xls');

//獲取當(dāng)前活動(dòng)sheet

$objWorksheet = $phpExcel->getActiveSheet();

//獲取行數(shù)

$highestRow = $objWorksheet->getHighestRow();

//獲取列數(shù)

$highestColumn = $objWorksheet->getHighestColumn();

$highestColumnIndex = PHPExcel_Cell::columnIndexFromString($highestColumn);

//循環(huán)輸出數(shù)據(jù) www.jb51.net

$data = array();

for($row = 1; $row <= $highestRow; ++$row) {

for($col = 0; $col < $highestColumnIndex; ++$col) {

$val = $objWorksheet->getCellByColumnAndRow($col, $row)->getValue();

$data[$row][$col] = trim($val);

}

}

echo '<pre>';

print_r($data);

echo '</pre>';

但是這種方式有缺陷,老版本的excel有個(gè)數(shù)據(jù)上限,最多65536行數(shù)據(jù),這時(shí)我們就無法通過excel來實(shí)現(xiàn)大數(shù)據(jù)的導(dǎo)出, 但我估計(jì)也沒幾個(gè)有這么我數(shù)據(jù)吧,當(dāng)然如果有可以考慮使用csv來操作

以上所述就是本文的全部?jī)?nèi)容了,希望大家能夠喜歡。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 一区在线免费视频 | 久久久久中文字幕 | 一级毛片播放 | 精品久久久久久久久久久久久久久久久久久 | 欧美成人小视频 | 国产精品免费小视频 | 国产精品啪一品二区三区粉嫩 | 亚洲人成网站免费播放 | 亚洲无线看 | 久久国产乱子伦精品 | 国产二区三区在线播放 | 久久久久久久久久久亚洲 | 精品一区二区三区免费视频 | 国产精品久久久久久久不卡 | 日日狠狠久久 | 鲁久久 | 超碰97最新 | 偷偷草网站 | 亚洲福利视频52 | 国产成年人视频 | 少妇色诱麻豆色哟哟 | 性欧美xxxx极品摘花 | 免费毛片视频 | 成人免费福利视频 | 成人不卡一区二区 | 亚洲第一黄色网 | 黄网站免费入口 | 91午夜在线观看 | 国产一区二区三区四区五区加勒比 | 五月天影院,久久综合, | 国产精品啪一品二区三区粉嫩 | 国产精品一区二区三区在线 | 欧美性色大片 | www国产成人免费观看视频,深夜成人网 | av在线网站观看 | 懂色粉嫩av久婷啪 | 久久久久电影网站 | 日本一区视频在线观看 | av在线影片 | 日本在线免费观看视频 | 七首小情歌泰剧在线播放 |