php操作excel文件2

没有评论

2010 年 12 月 08 日 at 下午 5:00分类:PHP | WEB开发

<?php 
//定义一个excel文件 
$workbook = "C:/My Documents/test.xls"; 
$sheet = "Sheet1"; 
//生成一个com对象$ex 
$ex = new COM("Excel.sheet") or Die ("连不上!!!"); 
//打开一个excel文件 
$book = $ex->application->Workbooks->Open($workbook) or Die ("打不开!!!"); 
$sheets = $book->Worksheets($sheet); 
$sheets->activate; 
//获取一个单元格 
$cell = $sheets->Cells(5,5); 
$cell->activate; 
//给该单元格赋值 
$cell->value = 999; 
//保存为另一文件newtest.xls 
$ex->Application->ActiveWorkbook->SaveAs("newtest.xls"); 
//关掉excel,如果想看效果,则注释掉下面两行,由用户手动关掉excel 
$ex->Application->ActiveWorkbook->Close("False"); 
unset ($ex); 
?> 

php生成excel文件的操作

没有评论

2010 年 12 月 08 日 at 下午 4:52分类:PHP | WEB开发

php生成excel文件的操作的原理文件代码

<?
header("Content-type:application/vnd.ms-excel");
header("Content-Disposition:filename=test.xls");
echo "test1\t";
echo "test2\t\n";
echo "test1\t";
echo "test2\t\n";
echo "test1\t";
echo "test2\t\n";
echo "test1\t";
echo "test2\t\n";
echo "test1\t";
echo "test2\t\n";
echo "test1\t";
echo "test2\t\n";
?> 

用php生成excel文件的操作的原理备份一个数据表,生成excel文件

<?php
$DB_Server = "localhost";
$DB_Username = "mydowns";
$DB_Password = "";
$DB_DBName = "mydowns";
$DB_TBLName = "user";
$Connect = @mysql_connect($DB_Server, $DB_Username, $DB_Password) or die("Couldn@#t connect.");
$Db = @mysql_select_db($DB_DBName, $Connect) or die("Couldn@#t select database.");
$file_type = "vnd.ms-excel";
$file_ending = "xls";
header("Content-Type: application/$file_type");
header("Content-Disposition: attachment; filename=mydowns.$file_ending");
header("Pragma: no-cache");
header("Expires: 0");
$now_date = date('Y-m-d H:i');
$title = "数据库名:$DB_DBName,数据表:$DB_TBLName,备份日期:$now_date";
$sql = "Select * from $DB_TBLName";
$ALT_Db = @mysql_select_db($DB_DBName, $Connect) or die("Couldn@#t select database");
$result = @mysql_query($sql,$Connect) or die(mysql_error());
echo ("$title\n");
$sep = "\t";
for ($i = 0; $i < mysql_num_fields($result); $i++) {
echo mysql_field_name($result,$i) . "\t";
}
echo ("\n");
$i = 0;
while($row = mysql_fetch_row($result))
{
$schema_insert = "";
for($j=0; $j<mysql_num_fields($result);$j++)
{
if(!isset($row[$j]))
$schema_insert .= "NULL".$sep;
elseif ($row[$j] != "")
$schema_insert .= "$row[$j]".$sep;
else
$schema_insert .= "".$sep;
}
$schema_insert = str_replace($sep."$", "", $schema_insert);
$schema_insert .= "\t";
echo (trim($schema_insert));
echo "\n";
$i++;
}
return (true);
?>

将导出的excel文件改成csv文件,然后执行以下操作 就可以导入数据

<?php      
$fname = $_FILES['MyFile']['name'];      
$do = copy($_FILES['MyFile']['tmp_name'],$fname);      
if ($do)       
{       
    echo"导入数据成功<br>";       
} else {      
    echo "";       
}      
?>      
<form ENCTYPE="multipart/form-data" ACTION="<?php echo"".$PHP_SELF.""; ?>" METHOD="POST">       
    <p>导入CVS数据  <input NAME="MyFile" TYPE="file"> <input VALUE="提交" TYPE="submit">       
    </p>      
</form>       
<?      
error_reporting(0);      
//导入CSV格式的文件      
$connect=mysql_connect("localhost","a0530093319","123456") or die("could not connect to database");      
mysql_select_db("a0530093319",$connect) or die (mysql_error());      
$fname = $_FILES['MyFile']['name'];      
$handle=fopen("$fname","r");      
while($data=fgetcsv($handle,10000,","))                 
{      
    $q="insert into test (code,name,date) values ('$data[0]','$data[1]','$data[2]')";      
    mysql_query($q) or die (mysql_error());      
                                           
}      
fclose($handle);      
?>