我正在尝试使用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 query创建了一个分隔符,我的数据现在被放置在行中。
结果
现在,我想用分隔符“| |”来分隔它们。你能帮我吗?
我的问题是:
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
1条答案
按热度按时间f4t66c6m1#
我看不出你在哪里增加变量
$rowCount
.你应该写信
++$rowCount;
在你的while循环的末尾。