这一段代码可以输出EXCEL文件,但要自己另存为,能否改动下变为自己保存。<?php
$DB_Server = "localhost";
$DB_Username = "root";
$DB_Password = "";
$DB_DBName = "product";
$DB_TBLName = "product";
$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/vnd.ms-excel");
header("Content-Disposition:filename=test.xls"); // 这样可以但不能自动保存
//header("Content-Disposition:attachment;filename=test.$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";
}
print("\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";
print(trim($schema_insert));
print "\n";
$i++;
}
return (true);
?>
请高手们帮忙看一下?
$DB_Server = "localhost";
$DB_Username = "root";
$DB_Password = "";
$DB_DBName = "product";
$DB_TBLName = "product";
$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/vnd.ms-excel");
header("Content-Disposition:filename=test.xls"); // 这样可以但不能自动保存
//header("Content-Disposition:attachment;filename=test.$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";
}
print("\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";
print(trim($schema_insert));
print "\n";
$i++;
}
return (true);
?>
请高手们帮忙看一下?
PHP有没有办法能够改变目录的权限??
如文件可以用chmod,目录呢??
可以用com或者javascript生成office文件。chmod不能更改目录权限吗?
用这个命令也必须要有权限
TO:LeeMaRS(小菜虎_水壶的仇人)
你把那一行注释去掉,而把它上面一行注释掉,就有错误了???TO:wasy(嘻嘻哈哈) :我知道必须有权限,但是我想知道假如我有权限,有没有命令可以更改目录权限?
kao,我說的意思是chmod照樣可以用於目錄呀參考:
<script>
var ExcelSheet;
ExcelApp = new ActiveXObject("Excel.Application");
ExcelSheet = new ActiveXObject("Excel.Sheet");
ExcelSheet.Application.Visible = true;
/*下面写入数据,可以嵌合php代码,逐一生成js写入语句*/
ExcelSheet.ActiveSheet.Cells(1,1).Value = "<?=$name?>";
ExcelSheet.ActiveSheet.Cells(1,2).Value = "This is column A, row 2";
ExcelSheet.ActiveSheet.Cells(2,1).Value = "This is column B, row 1";
ExcelSheet.ActiveSheet.Cells(2,2).Value = "This is column B, row 2";
ExcelSheet.SaveAs("C:\\xxx.XLS");
ExcelSheet.Application.Quit();
</script>
条件是更改ie设置:
设置->安全性->自定义
将初始化不安全的activeX控制项设置为启用至於com函數沒有用過
你有没有改掉那注释to:wasy(嘻嘻哈哈)
我试试
//把这个//去掉header("Content-Disposition:attachment;filename=test.$file_ending"); // 这一行为保存可是有错误
test.php:
<?php
$exapp = new COM("Excel.application") or Die ("Did not connect");
$wkb=$exapp->Workbooks->add();
$ex->Application->Visible = 1;
$sheets = $wkb->Worksheets(1); //选择第一个sheet
$sheets->activate; //激活
$sheets->name="Report First page";//更名
//填充单元格
$maxi=20;
$m=1;
for ($i=1;$i<$maxi;$i++) {
for($n=1;$n<5;$n++){
$cell = $sheets->Cells($i,$n) ; #Select the cell (Row Column number) $cell->activate;
$cell->value = $m;
$m++;
}
}
$ch = $sheets->chartobjects->add(50, 40, 400, 100); #作图
$chartje = $ch->chart;
$chartje->activate;
$chartje->ChartType=63;
$selected = $sheets->range("E1:E$maxi");
$chartje->setsourcedata($selected);
//存盘
$file_name="D:/test.xls"; //路径
if (file_exists($file_name)) {@unlink($file_name) or die("文件已经存在,并无法删除!");}
$wkb->SaveAs($file_name); //save
$exapp->Quit();
unset($exapp);
echo "生成成功!";
?>
测试成功,谢谢!!我把前面的程序一结合,就行了。再次谢谢wasy(嘻嘻哈哈) wasy(嘻嘻哈哈)能否交个朋友,我的QQ:490075
其实楼主的那个程序(就是你现在帖上来那个,什么都没改,注释什么一个字都没动)在我的机子上是可以正确运行的,可以自动提示下载.