php 利用ExcelReader实现EXCEL转换成缓存

如果不清楚ExcelReader的话,请查看 php读取excel类——PHP-ExcelReader


大概的步骤:

1、有个上传文件的php文件

2、有个处理上传文件的php文件

3、一些需要处理的excel 。

第一步:上传的页面文件

效果:

相关代码:

 
  
< html >
< body >

< form action ="example.php" method ="post"
enctype
="multipart/form-data" >
< label for ="file" > Filename: </ label >
< input type ="file" name ="file" id ="file" />
< br />
< input type ="submit" name ="submit" value ="Submit" />
</ form >

</ body >
</ html >

第二部  需要的处理文件(完成读取并转换成php数据,最后序列化写入缓存)

相关代码:
 
  
< a href = ' test.php ' > 返回 </ a >
<? php
// Test CVS
if ( $_FILES [ ' file ' ][ ' type ' ] == ' application/vnd.ms-excel ' )
{
if ( $_FILES [ " file " ][ " error " ] > 0 )
{
echo " Error: " . $_FILES [ " file " ][ " error " ] . " <br /> " ;
}
else
{
echo " Upload: " . $_FILES [ " file " ][ " name " ] . " <br /> " ;
echo " Type: " . $_FILES [ " file " ][ " type " ] . " <br /> " ;
echo " Size: " . ( $_FILES [ " file " ][ " size " ] / 1024 ) . " Kb<br /> " ;
echo " Stored in: " . $_FILES [ " file " ][ " tmp_name " ] . " <br /> " ;
}
}
else {
echo ' Error: ' . ' FILE TYPE IS NOT TXT DOCUMENT! ' . " <br /> " ;
}

$tArray = explode ( ' . ' , $_FILES [ " file " ][ " name " ]);
$cachedir = ' c:\testWeb\public\phpExcelReader\cache\\ ' ;
$cacheFileName = ' c:\testWeb\public\phpExcelReader\cache\\ ' . $tArray [ 0 ] . ' .txt ' ;

error_reporting ( 0 );
require_once ' Excel/reader.php ' ;

// ExcelFile($filename, $encoding);
$data = new Spreadsheet_Excel_Reader();

// Set output Encoding.
$data -> setOutputEncoding( ' CP936 ' );

$data -> read( ' xls\\ ' . $_FILES [ " file " ][ " name " ]);
$sheetArray [ ' tbody ' ] = array ();
$sheetArray [ ' thead ' ] = array ();
$tempArray = array ();

for ( $i = 1 ; $i <= $data -> sheets[ 0 ][ ' numRows ' ]; $i ++ ) {
$tempArray = array ();
for ( $j = 1 ; $j <= $data -> sheets[ 0 ][ ' numCols ' ]; $j ++ ) {
if ( $i == 1 ){
$sheetArray [ ' thead ' ][ 0 ][][ ' val ' ] = $data -> sheets[ 0 ][ ' cells ' ][ $i ][ $j ] == ' -- ' ? ' - ' : $data -> sheets[ 0 ][ ' cells ' ][ $i ][ $j ];
}
else {
$tempArray [] = $data -> sheets[ 0 ][ ' cells ' ][ $i ][ $j ] == ' -- ' ? ' - ' : $data -> sheets[ 0 ][ ' cells ' ][ $i ][ $j ];
}
}
$i == 1 ? '' : $sheetArray [ ' tbody ' ][] = $tempArray ;
}
var_dump ( $sheetArray );

if ( ! is_dir ( $cachedir ))
mkdir ( $cachedir );
$fp = fopen ( $cacheFileName , ' w ' );
if ( $fp ){
echo $cacheFileName . ' <br/> ' ;
fwrite ( $fp , serialize ( $sheetArray ));
fclose ( $fp );
}
?>
最后在运行文件的cache下就会有缓存文件了
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值