Sql server 使用php将sqlserver数据转换为excel xlsx?这个代码有什么问题吗。。? save('php://output'); /*如果要将文件保存在服务器上而不是下载,请将最后4行替换为 $objWriter->save('test.xlsx');
使用php将sqlserver数据转换为excel xlsx?这个代码有什么问题吗。。?Sql server 使用php将sqlserver数据转换为excel xlsx?这个代码有什么问题吗。。? save('php://output'); /*如果要将文件保存在服务器上而不是下载,请将最后4行替换为 $objWriter->save('test.xlsx');,sql-server,sql-server-2008,php,Sql Server,Sql Server 2008,Php,使用php将sqlserver数据转换为excel xlsx?这个代码有什么问题吗。。? save('php://output'); /*如果要将文件保存在服务器上而不是下载,请将最后4行替换为 $objWriter->save('test.xlsx'); */ ?> 这不是关于数据库的问题,但是有一个关于PHP的问题。通过PHP和查询检查错误。当我将query for MySQL与PHP一起使用时,它可以工作,但当我使用query for sqlserver时,它不工作,并显示以下错误Exce
save('php://output');
/*如果要将文件保存在服务器上而不是下载,请将最后4行替换为
$objWriter->save('test.xlsx');
*/
?>
这不是关于数据库的问题,但是有一个关于PHP的问题。通过PHP和查询检查错误。当我将query for MySQL与PHP一起使用时,它可以工作,但当我使用query for sqlserver时,它不工作,并显示以下错误Excel无法打开文件,因为文件格式或文件扩展名无效
<?php
$serverName = '-'; //serverName\instanceName
$connectionInfo = array( 'Database'=>'-');
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn!='') {
'Connection established.<br />';
}else{
'Connection could not be established.<br />';
die( print_r( sqlsrv_errors(), true));
}
/** Set default timezone (will throw a notice otherwise) */
date_default_timezone_set('Asia/Kolkata');
// include PHPExcel
require('../PHPExcel.php');
// create new PHPExcel object
$objPHPExcel = new PHPExcel;
// set default font
$objPHPExcel->getDefaultStyle()->getFont()->setName('Calibri');
// set default font size
$objPHPExcel->getDefaultStyle()->getFont()->setSize(10);
// create the writer
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, "Excel2007");
/**
* Define currency and number format.
*/
// currency format, € with < 0 being in red color
$currencyFormat = '#,#0.## \€;[Red]-#,#0.## \€';
// number format, with thousands separator and two decimal points.
$numberFormat = '#,#0.##;[Red]-#,#0.##';
// writer already created the first sheet for us, let's get it
$objSheet = $objPHPExcel->getActiveSheet();
// rename the sheet
$objSheet->setTitle('My sales report');
// let's bold and size the header font and write the header
// as you can see, we can specify a range of cells, like here: cells from A1 to A4
$objSheet->getStyle('A1:D1')->getFont()->setBold(true)->setSize(12);
// write header
$objSheet->getCell('A1')->setValue('Name');
$objSheet->getCell('B1')->setValue('phone No');
// we could get this data from database, but here we are writing for simplicity
$i = '2';
$que=sqlsrv_query($conn,"SELECT * FROM table");
while($row=sqlsrv_fetch_array($que)){
$name=$row['CustomerName'];
$PhoneNo=$row['CustomerPhone'];
$data[] = array(
'name'=>$name,
'empno'=>$PhoneNo
);
}
$array = stripslashes(json_encode($data));
$json = (object)json_decode($array);
foreach($json AS $datas){
$objSheet->getCell('A'.$i.'')->setValue($datas->name);
$objSheet->getCell('B'.$i.'')->setValue($datas->empno);
$i++;
}
// autosize the columns
$objSheet->getColumnDimension('A')->setAutoSize(true);
$objSheet->getColumnDimension('B')->setAutoSize(true);
//Setting the header type
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="file.xlsx"');
header('Cache-Control: max-age=0');
$objWriter->save('php://output');
/* If you want to save the file on the server instead of downloading, replace the last 4 lines by
$objWriter->save('test.xlsx');
*/
?>