我用PHP创建了一个日历,向老板展示我的假期。
日历很棒。
我必须将日历数据以这种格式导出到Excel工作表中:
我想知道如果我在3月9日休假,该如何在这张桌子上摆个十字架。
我尝试了这个,但是我的方法似乎不是最好的方法:
我从第一个单元格开始,浏览所有单元格,如果找到假期,我会划一个十字架。
编辑我根据Mark的建议更改了代码(见下文)
$sql = "SELECT id, nom, prenom FROM utilisateurs";
$fiches = $bdd->prepare($sql);
$users = $fiches->execute();
$user_number = 0;
$res = $fiches->fetchAll(PDO::FETCH_OBJ);
$ligne = 0;
foreach($res as $user)
{
$ligne = 1;
$user_number++;
$objPHPExcel->createSheet($user_number);
$objPHPExcel->setActiveSheetIndex($user_number);
$objPHPExcel->getActiveSheet()->setTitle($user->nom);
$ligne++;
$num_jours = cal_days_in_month(CAL_GREGORIAN, $month, $annee_en_cours);
$col = 'A';
$sql = "SELECT jour, commentaire
FROM reservations
WHERE id_user = ".$user->id;
$sql.= " ORDER BY jour";
echo $sql.'<br />';
$req = $bdd->prepare($sql);
$execution = $req->execute();
$res = $req->fetchAll(PDO::FETCH_OBJ);
echo '<pre>';
print_r($res);
echo '</pre>';
if (count($res) > 0)
{
$objPHPExcel->getActiveSheet()->SetCellValue($col.$ligne, $res[0]->jour);
}
echo $col.$ligne.'</br />';
$col++;
$ii = 1;
for($col = 'A'; $col !== 'AF'; $col++)
{
$objPHPExcel->getActiveSheet()->SetCellValue($col.'1', $ii);
}
}
我得到这个:
SELECT jour, commentaire FROM reservations WHERE id_user = 57 ORDER BY jour
数组([0] => stdClass对象([天] => 2014_08_14_AM [评论] =>)
[1] => stdClass Object
(
[jour] => 2014_10_02_AM
[commentaire] =>
)
[2] => stdClass Object
(
[jour] => 2014_10_16_AM
[commentaire] =>
)
[3] => stdClass Object
(
[jour] => 2014_11_05_AM
[commentaire] =>
)
[4] => stdClass Object
(
[jour] => 2014_11_06_AM
[commentaire] =>
)
[5] => stdClass Object
(
[jour] => 2014_12_03_AM
[commentaire] =>
)
[6] => stdClass Object
(
[jour] => 2014_12_10_AM
[commentaire] =>
)
)
A2 SELECT jour,评论员,来自保留地id_user = 58 ORDER BY jour
数组([0] => stdClass对象([天] => 2014_06_03_AM [评论] =>)
[1] => stdClass Object
(
[jour] => 2014_06_12_AM
[commentaire] =>
)
[2] => stdClass Object
(
[jour] => 2014_06_17_AM
[commentaire] =>
)
[3] => stdClass Object
(
[jour] => 2014_08_01_AM
[commentaire] =>
)
[4] => stdClass Object
(
[jour] => 2014_08_07_AM
[commentaire] =>
)
[5] => stdClass Object
(
[jour] => 2014_12_01_AM
[commentaire] => test
)
[6] => stdClass Object
(
[jour] => 2014_12_03_AM
[commentaire] =>
)
[7] => stdClass Object
(
[jour] => 2014_12_11_AM
[commentaire] => test
)
[8] => stdClass Object
(
[jour] => 2014_12_24_AM
[commentaire] => test
)
[9] => stdClass Object
(
[jour] => 2015_01_01_AM
[commentaire] =>
)
)
A2 SELECT jour,评论员,来自保留地id_user = 59 ORDER BY jour
数组([0] => stdClass对象([天] => 2014_12_03_AM [评论] =>)
[1] => stdClass Object
(
[jour] => 2014_12_04_AM
[commentaire] =>
)
)
A2曝光确定,请单击以保存文档。这不是最好的方法,您有想法吗?
最好检索一年中所有假期的列表(一个数据库查询返回所有假期行,而不是每个日期的365/366查询)并遍历该结果集..您应该可以工作通过提取月份和日期分量来从日期中取出单元格地址以存储X
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句