gpt4 book ai didi

php - Mysql 和 PHP 到 Excel

转载 作者:行者123 更新时间:2023-11-29 17:46:47 25 4
gpt4 key购买 nike

我的 mysql 表中有人力资源应用程序,我正在尝试将该数据下载为 Excel 文件。

function exportExcel($filename='ExportExcel',$columns=array(),$data=array(),$replaceDotCol=array()){
global $connect;
header('Content-Encoding: UTF-8');
header('Content-Type: text/plain; charset=utf-8');
header("Content-disposition: attachment; filename=".$filename.".xls");
echo "\xEF\xBB\xBF"; // UTF-8 BOM
$count=count($columns);
echo '<table border="1">';
echo '<th>1</th>';
echo '<th>2</th>';
foreach($columns as $col){
echo '<tr><th>'.trim($col).'</th>';
foreach($data as $val){
for($i=0; $i < $count; $i++){
if(in_array($i,$replaceDotCol)){
echo '<td>'.str_replace('.',',',$val[$i]).'</td></tr>';
}else{
echo '<td>'.$val[$i].'</td></tr>';
}
}
}
}
}

我正在发送两个数组来运行,其中一个包含诸如姓名、生日、出生地等描述,另一个是我的 mysql 数据。

我的目标是在两列中显示这些信息。在我的代码中,输出显示仅像行。

enter image description here

最佳答案

您正在使用 </tr> 关闭行每次写入列值时。因此,a) 您的最终标记可能无效(尽管 Excel 可能会容忍它并猜测您的意思),b) 这就是为什么所有内容都在一列中的原因。只关闭<tr>当您将所需的所有列写入该行后。此外,您没有正确输出标题行,它正在合并到数据中。

这应该有效:

echo '<tr>'; //header row

foreach($columns as $col){
echo '<th>'.trim($col).'</th>';
}

echo '</tr>'; //end header row

foreach($data as $val){
echo '<tr>'; //begin data row
for($i=0; $i < $count; $i++){
if(in_array($i,$replaceDotCol)){
echo '<td>'.str_replace('.',',',$val[$i]).'</td>';
}else{
echo '<td>'.$val[$i].'</td>';
}
}
echo '</tr>'; //end data row
}

关于php - Mysql 和 PHP 到 Excel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49752053/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com