php - 在动态查询 SQL 时使用 PHP 将 header 硬编码到 excel 文件

标签 php mysql phpexcel

我有这个 PHPExcel 代码:

/** Error reporting */
error_reporting(E_ALL);
date_default_timezone_set('Europe/London');

/** Include PHPExcel */
require_once '../Classes/PHPExcel.php';
    $objPHPExcel = new PHPExcel();
    //$objPHPExcel->setActiveSheetIndex(0)
               // ->setCellValue('A1', 'Hello')
               // ->setCellValue('A2', 'world!')

$row = 2; 
while($row_data = mysql_fetch_assoc($result)) {
    $col = 1;
    foreach($row_data as $key=>$value) {
$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow($col, $row, $value);
$col++;
    }
        $row++;
    }

// Rename worksheet
$objPHPExcel->getActiveSheet()->setTitle('Results');

// Set active sheet index to the first sheet, so Excel opens this as the first sheet
$objPHPExcel->setActiveSheetIndex(0);

// Redirect output to a client’s web browser (Excel5)
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="Output.xls"');
header('Cache-Control: max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output');
exit;

基本上我是动态查询数据库并将其放入 excel 文件中。

我只想在几个标题中进行硬编码。因此,对于 A1,我想在“Hello”和 A2 中进行硬编码:“World!”在查询数据库时,将数据从 B 列开始

最佳答案

$objPHPExcel = new PHPExcel();
$objPHPExcel->setActiveSheetIndex(0)
            ->setCellValue('A1', 'Hello')
            ->setCellValue('A2', 'world!');

$col = 1; 
while($row_data = mysql_fetch_assoc($result)) {
    $row = 1;
    foreach($row_data as $value) {
        $objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow($col, $row, $value);
        $row++;
    }
    $col++;
}

请注意,Excel5 有 256 列的限制,因此如果您有超过 255 条数据记录,那么如果您保存为该格式,额外的列将从保存的工作簿中删除。

关于php - 在动态查询 SQL 时使用 PHP 将 header 硬编码到 excel 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13166502/

相关文章:

PHPExcel - 通过迭代创建多个工作表

php - 使用 PHP 在 Excel 文件 (xls) 中提取图片/图像

javascript - 如何将图表时间线与 mysql 连接并在 DIV 中显示其他信息

javascript - 即使用户点击 "back",也会将 PHP 变量传递给 JavaScript

php - 如何自动填写表单数据?

mysql - 如何选择所有结果中列值都相同的一组记录

php json_encode 部分不适用于数组

php - 每组最大 n 多表

mysql - INNER JOIN 耗时太长,每次查询都不会

PHPExcel:无效的单元格坐标错误