首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > PHP >

PHP怎么将查询结束导出Excel

2013-08-01 
PHP如何将查询结束导出Excelform actionuser.php methodPOST用户编号:input typetext nameu

PHP如何将查询结束导出Excel

<form action="user.php" method="POST">
用户编号:<input type="text" name="u_num" size="12" value="<?php echo $_POST['u_num']; ?>" />&nbsp;&nbsp;
用户名:<input type="text" name="u_name" size="20" value="<?php echo $_POST['u_name']; ?>" />&nbsp;&nbsp;
<input type="submit" name="sub" value=" 查询 " />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input type="button" value="导出Excel" />
</form>

<table>
<tr>
<td>用户编号</td>
<td>用户名</td>
</tr>

<?php
if(!empty($_POST["u_num"])){
$u_num = "where u_id='"."{$_POST['u_num']}"."'";
}

$sql = "select * from msd.dbo.user";

$query = sqlsrv_query($conn,$sql);
if( $query === false) {
    die( print_r( sqlsrv_errors(), true) );
}

while($row = sqlsrv_fetch_array($query)) {
echo "<tr><td>$row[0]</td><td>$row[1]</td></tr>";
}

sqlsrv_free_stmt( $query);
sqlsrv_close( $conn);
?>

</table>
PHPexcel 导出 汇出
[解决办法]
引用:
Quote: 引用:

Quote: 引用:

Quote: 引用:

$objPHPExcel>getActiveSheet()
        ->setCellValue()操作的结果是返回 PHPExcel_Worksheet 对象,把前面的echo去掉吧

去掉echo后,是不报错了,但while循环好像就失效了,导出的结果就只有一条数据。


        ->setCellValue('A2', convertUTF8($row[0]))
        ->setCellValue('B2', convertUTF8($row[1]))
        ->setCellValue('

C2', convertUTF8($row[2]))
        ->setCellValue('D2', convertUTF8($row[3]))
        ->setCellValue('E2', convertUTF8($row[4]))
        ->setCellValue('F2', convertUTF8($row[5]))
        ->setCellValue('G2', convertUTF8($row[6]))
        ->setCellValue('H2', convertUTF8($row[7]))
        ->setCellValue('I2', convertUTF8($row[8]))
        ->setCellValue('J2', convertUTF8($row[9]))
        ->setCellValue('K2', convertUTF8($row[10]))
        ->setCellValue('L2', convertUTF8($row[11]));

标红的部分循环中没有更改,所以会覆盖之前单元格的值。


不太明白你的意思,那我应该怎么改呢?

$i = 2;
while($row = sqlsrv_fetch_array($query)) {
$objPHPExcel->getActiveSheet()
        ->setCellValue('A'.$i, convertUTF8($row[0]))
        ->setCellValue('B'.$i, convertUTF8($row[1]))
        ->setCellValue('C'.$i, convertUTF8($row[2]))
        ->setCellValue('D'.$i, convertUTF8($row[3]))
        ->setCellValue('E'.$i, convertUTF8($row[4]))
        ->setCellValue('F'.$i, convertUTF8($row[5]))
        ->setCellValue('G'.$i, convertUTF8($row[6]))
        ->setCellValue('H'.$i, convertUTF8($row[7]))
        ->setCellValue('I'.$i, convertUTF8($row[8]))
        ->setCellValue('J'.$i, convertUTF8($row[9]))
        ->setCellValue('K'.$i, convertUTF8($row[10]))
        ->setCellValue('L'.$i, convertUTF8($row[11]));
$i++;
}

热点排行