[英]MySQL data to Excel only in one column when exporting using PHPExcel
我正在嘗試使用PHPExcel將數據從MySQL分離到excel文件。 我希望數據按行分隔。
例如,
詳細1響應1狀態1
詳細信息2響應2狀態2
詳細3響應3狀態3
數據的分隔符為||。 每行的分隔符為::
這是我的代碼:
<?php
try {
$sql = "SELECT ID,DESCRIPTION FROM SAMPLE";
} catch (Exception $ex) {
echo 'Message: ' .$ex->getMessage();
}
$connect = @mysql_connect($dbhost, $dbuser, $dbpass)
or die("Couldn't connect to MySQL:<br>" . mysql_error() . "<br>" . mysql_errno());
//select database
$Db = @mysql_select_db($dbname, $connect)
or die("Couldn't select database:<br>" . mysql_error(). "<br>" . mysql_errno());
//execute query
$result = @mysql_query($sql,$connect)
or die("Couldn't execute query:<br>" . mysql_error(). "<br>" . mysql_errno());
error_reporting(E_ALL);
require_once 'Classes/PHPExcel.php';
// Execute the database query
// Instantiate a new PHPExcel object
$objPHPExcel = new PHPExcel();
// Set the active Excel worksheet to sheet 0
$objPHPExcel->setActiveSheetIndex(0);
$rowCount = 2;
$objPHPExcel->getActiveSheet()->setCellValue('A1', 'ID');
$objPHPExcel->getActiveSheet()->setCellValue('B1', 'DESCRIPTION');
while($row = mysql_fetch_array($result)){
$objPHPExcel->getActiveSheet()->SetCellValue('A'.$rowCount, $row['ID']);
$objPHPExcel->getActiveSheet()->SetCellValue('B'.$rowCount, $row['DESCRIPTION']);
}
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="SampleExcel.xls"');
header('Cache-Control: max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output');
?>
更新資料
我現在在如何解決問題上有進步:)我已經使用MySQL查詢創建分隔符,並且我的數據現在放置在行中。
現在,我現在想用定界符“ ||”將它們分開。 你能幫我嗎?
這是我的查詢:
SELECT SUBSTRING_INDEX(SELECT sample.id, SUBSTRING_INDEX(SUBSTRING_INDEX(sample.DESCRIPTION, '::', numbers.n), '::', -1) as name FROM numbers INNER JOIN sample ON CHAR_LENGTH(sample.DESCRIPTION) -CHAR_LENGTH(REPLACE(sample.DESCRIPTION, '::', ''))>=numbers.n-1,'||'-2) as string
我看不到您要在哪里增加變量$rowCount
。
您應該編寫++$rowCount;
在while循環的末尾。
while($row = mysql_fetch_array($result)) {
$objPHPExcel->getActiveSheet()->SetCellValue('A'.$rowCount, $row['ID']);
$objPHPExcel->getActiveSheet()->SetCellValue('B'.$rowCount, $row['DESCRIPTION']);
++$rowCount;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.