1

mysql データベース テーブルを Excel、つまり XLS 形式でエクスポートしようとしています。Excel 形式で結果を取得するために php コードを試しましたが、何らかの理由または欠落している用語のためにそれを実行できません。ここに私の php コードがあります。

<?php

// connection with the database
$dbcon = mysql_connect("127.0.0.1","root","mim");

if($dbcon)
{
    mysql_select_db("mydb", $dbcon);
}
else
{
    die('error connecting to the database');
}

// require the PHPExcel file
require 'Classes/PHPExcel.php';

$query = "
    SELECT name
    FROM usermaster
    WHERE date between '2013-01-01' AND '2013-03-01'
";
$result = mysql_query($query) or die(mysql_error());         

// Create a new PHPExcel object
$objPHPExcel = new PHPExcel();
$objPHPExcel->getActiveSheet()->setTitle('Name');

// Loop through the result set
$row = 1;
while ($row = mysql_fetch_row($result)) {
    $col = 0;
    foreach($row as $name) {
        $objPHPExcel->getActiveSheet()->setCellValue($col.$row,$name);
        $col++;
    }
    $row++;
}

// Save as an Excel BIFF (xls) file
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');

header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="myFile.xls"');
header('Cache-Control: max-age=0');

$objWriter->save('php://output');
exit();

?>

空のページを取得する......どんな種類の助けも高く評価され、受け入れられます...

4

1 に答える 1

0

setCellValue() は、最初の引数として Excel セル アドレス (例: A1、B2、C3。列 ID は文字 ID の後に行番号が続きます) を想定しています。列 ID に数字 (0 から始まる) を使用しています。

初期列 ID を 0 に設定する代わりに、「A」に設定します。

$row = 1;
while ($row = mysql_fetch_row($result)) {
    $col = 'A';
    foreach($row as $name) {
        $objPHPExcel->getActiveSheet()->setCellValue($col.$row,$name);
        $col++;
    }
    $row++;
}
于 2013-03-30T10:50:20.000 に答える