?

昂昂溪網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián),昂昂溪網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為昂昂溪上千多家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站制作要多少錢,請找那個售后服務(wù)好的昂昂溪做網(wǎng)站的公司定做!
$sheet_i = 2;//行
$sheet_j = 1;//列
for($currentRow = 2;$currentRow = $allRow;$currentRow++){
/**從第A列開始輸出*/
for($currentColumn= 'A';$currentColumn= $allColumn; $currentColumn++){
$val = $currentSheet-getCellByColumnAndRow(ord($currentColumn) - 65,$currentRow)-getValue();/**ord()將字符轉(zhuǎn)為十進(jìn)制數(shù)*/
if($sheet_i = 2$sheet_j = 1)//自己算好輸出第幾行第幾列
{
if($currentColumn == 'A')
{
echo GetData($val)."\t";
}else{
//echo $val;
/**如果輸出漢字有亂碼,則需將輸出內(nèi)容用iconv函數(shù)進(jìn)行編碼轉(zhuǎn)換,如下將gb2312編碼轉(zhuǎn)為utf-8編碼輸出*/
echo iconv('utf-8','gb2312', $val)."\t";
}
}
$sheet_j ++;
}
$sheet_i++;
$sheet_j = 0;//重置列數(shù)
echo "/br";
}
echo "\n";
?
推薦用“PHPExcel”,下載地址“
”,以下是
壓縮包
中的“文檔目錄”和“截圖”![[i]
本帖最后由
cmttp
于
2008-6-27
03:22
編輯
[/i]]
$handle = fopen($_FILES[importfile][tmp_name],"r");
while($items = fgetcsv($handle,1000," ")){
var_dump($items);
}
這個是我讀取EXCEL上傳的文件用的,按行讀取,但是你的Excel必須是二進(jìn)制格式的自己琢磨一下吧,網(wǎng)上搜索很多的
PHPExcel
PHPExcel?是用來操作Office Excel 文檔的一個PHP類庫,它基于微軟的OpenXML標(biāo)準(zhǔn)和PHP語言。可以使用它來讀取、寫入不同格式的電子表格,如 Excel (BIFF) .xls, Excel 2007 (OfficeOpenXML) .xlsx, CSV, Libre/OpenOffice Calc .ods, Gnumeric, PDF, HTML等等。
PHP讀取示例代碼
//獲取上傳的excel臨時文件
$path?=?$_FILES["file"]["tmp_name"];
//將臨時文件移動當(dāng)前目錄,可自定義存儲位置
move_uploaded_file($_FILES["file"]["tmp_name"],$_FILES["file"]["name"]);
//將獲取在服務(wù)器中的Excel文件,此處為上傳文件名
$path?=?$_FILES["file"]["name"];
//調(diào)用readExcel函數(shù)返回一個
二維數(shù)組
$exceArray?=?readExcel($path);
//創(chuàng)建一個讀取
excel函數(shù)
function?readExcel($path){
//引入PHPExcel類庫
include?'Classes/PHPExcel.php';????????????
include?'Classes/PHPExcel/IOFactory.php';
$type?=?'Excel5';//設(shè)置為Excel5代表支持2003或以下版本,
Excel2007代表2007版
$xlsReader?=?\PHPExcel_IOFactory::createReader($type);??
$xlsReader-setReadDataOnly(true);
$xlsReader-setLoadSheetsOnly(true);
$Sheets?=?$xlsReader-load($path);
//開始讀取上傳到服務(wù)器中的Excel文件,返回一個
二維數(shù)組
$dataArray?=?$Sheets-getSheet(0)-
toArray();
return?$dataArray;
}
?php
header("content-Type:
text/html;
charset=
utf8
");
error_reporting(0);
$
connection
=
mysql_connect('
localhost
',
'root',
'password');
// 連接數(shù)據(jù)庫
mysql_select_db
('test');
//
選擇數(shù)據(jù)庫
mysql_query("SET
NAMES
'utf8'");
//
設(shè)置
字符集
//
連接EXCEL
$conn=new
com("adodb.connection",
NULL,
CP_UTF8);
$connstr="Driver={Microsoft
Excel
Driver
(*.xls)};DBQ=".realpath("excel.xls");
$conn-open($connstr);
$sql="select
*
from
[Sheet1$]";
//
查詢EXCEL工作表
$rs=$conn-execute($sql);
while(!$rs-eof)
{
$id =
trim($rs-fields(id)-value);
//
將excel中Sheet1表中的id存到$id;
$name =
trim($rs-fields(name)-value);
//
將excel中Sheet1表中的name存到$name;
$sex
=
trim($rs-fields(sex)-value);
//
將excel中Sheet1表中的sex存到$sex;
// 生成SQL
INSERT語句
$sql
=
"INSERT
INTO
test(id,
name,
sex)
VALUES('$id',
'$name',
'$sex')";
//
插入數(shù)據(jù)庫
mysql_query($sql);
$rs-movenext;
}
mysql_close
($connection);
?
php有個PHPExcel擴(kuò)展,是可以實現(xiàn)你的要求的。
我這里有個可以讀取多個工作薄的自定義excel類,試試看:
?php
/**
*excel.class.php
*/
class Excel
{
/**
* 從excel文件中取得所有數(shù)據(jù)。并轉(zhuǎn)換成指定編碼格式。
* $toCode 表示需要轉(zhuǎn)換成的編碼格式,目前擴(kuò)充了utf8,gbk2312,html三種格式。
* @return 返回二維數(shù)組。
*/
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']);//取得工作薄數(shù)量
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) //一行數(shù)據(jù)
{
$row = null;
foreach($v as $a=$d) //一行數(shù)據(jù)的一個字節(jié)
{
$value = null;
if(count($d) == 1)
{
continue;
}
if($d['type'] == 0) //如果是字符類型則轉(zhuǎn)換成為指定編碼格式
{
$ind = $d['data'];
if( $exc-sst['unicode'][$ind] ) //返回數(shù)據(jù)編碼格式
{
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獲取xlsx數(shù)據(jù),php讀取xls
轉(zhuǎn)載來源:http://chinadenli.net/article39/dsgggph.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、網(wǎng)站營銷、網(wǎng)頁設(shè)計公司、微信公眾號、品牌網(wǎng)站制作、外貿(mào)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)