- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如果变量 $name
为空,即使该数组中的其他变量不为空,任何人都可以帮助我如何限制循环,它不会显示在 Excel 生成的报告中。
我想做的是,如果该循环中的特定数组变量$name
为空,即使其他变量不是,它们也不会包含在生成的Excel报告中......任何人都知道如何要做到这一点?请帮助我。
当前代码:
<?php
if(isset($_POST['send'])){
include('connection.php');
require_once 'Classes\PHPExcel\IOFactory.php';
$filename = 'qualification_standards.xlsx';
$repcode = $_POST['repcode'];
$position = $_POST['t_position'];
$town = $_POST['t_town'];
$title = 'Qualification-Standards'.'_'.$repcode.'_'.$position.'_'.$town;
$objReader = PHPExcel_IOFactory::createReader('Excel2007');
$objReader->setReadDataOnly(true);
$objPHPExcel = $objReader->load($filename);
$objWorksheet = $objPHPExcel->getActiveSheet();
$objWorksheet = $objPHPExcel->setActiveSheetIndex(0);
$result = array();
for ( $n = 1; $n <=15; $n++ )
{
$no = 0+$n;
$aic = isset($_POST['aic'.$n]) ? $_POST['aic'.$n] : "";
$repcode = isset($_POST['repcode']) ? $_POST['repcode'] : "";
$name = isset($_POST['name'.$n]) ? $_POST['name'.$n] : "";
$optA = isset($_POST['optA'.$n]) ? $_POST['optA'.$n] : "";
$optB = isset($_POST['optB'.$n]) ? $_POST['optB'.$n] : "";
$optC = isset($_POST['optC'.$n]) ? $_POST['optC'.$n] : "";
$optD = isset($_POST['optD'.$n]) ? $_POST['optD'.$n] : "";
$total = isset($_POST['total'.$n]) ? $_POST['total'.$n] : "";
$result[] = array(
$no,
"PRO13325-".$aic,
$repcode,
$name,
$optA,
$optB,
$optC,
$optD,
$total
);
}
$headings = array(array('QUALIFICATION STANDARDS'),array(
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL), array(
'No.',
'AIC',
'RepCode',
'Name of Candidates',
'Educational Attainment',
'Experience',
'In-Service Trainings & Seminars Attended',
'Eligibility',
'Total'
)
);
$fone = "___________________________";
$ftwo = "Signature of Rater";
$footer = array(array($fone),array($ftwo));
$points = array(
' ',
' ',
' ',
' ',
'(20 pts)',
'(20 pts)',
'(20 pts)',
'(20 pts)',
'(80 pts)'
);
$styleArray = array(
'borders' => array(
'allborders' => array(
'style' => PHPExcel_Style_Border::BORDER_THIN
)
)
);
$objPHPExcel->getActiveSheet()->getStyle('A3:I19')->applyFromArray($styleArray);
unset($styleArray);
$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setAutoSize(true);
$objPHPExcel->getActiveSheet()->getColumnDimension('B')->setAutoSize(true);
$objPHPExcel->getActiveSheet()->getColumnDimension('C')->setAutoSize(true);
$objPHPExcel->getActiveSheet()->getColumnDimension('D')->setAutoSize(true);
$objPHPExcel->getActiveSheet()->getColumnDimension('E')->setAutoSize(true);
$objPHPExcel->getActiveSheet()->getColumnDimension('F')->setAutoSize(true);
$objPHPExcel->getActiveSheet()->getColumnDimension('G')->setAutoSize(true);
$objPHPExcel->getActiveSheet()->getColumnDimension('H')->setAutoSize(true);
$objPHPExcel->getActiveSheet()->getColumnDimension('I')->setAutoSize(true);
$objPHPExcel->getActiveSheet()
->getStyle('A1:I21')
->getAlignment()
->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$objPHPExcel->getActiveSheet()
->getStyle('D5:D19')
->getAlignment()
->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_LEFT);
$objPHPExcel->getActiveSheet()->getStyle('A1:I1')->getFont()->setSize(22);
$objPHPExcel->getActiveSheet()->mergeCells('A1:I2');
$objPHPExcel->getActiveSheet()->getStyle('A20:I20')->getFont()->setSize(17);
$objPHPExcel->getActiveSheet()->getStyle('A21:I21')->getFont()->setSize(13);
$objPHPExcel->getActiveSheet()->mergeCells('A20:I20');
$objPHPExcel->getActiveSheet()->mergeCells('A21:I21');
$objPHPExcel->getActiveSheet()->getStyle('B5:B19')->getNumberFormat()->setFormatCode('0000');
$objPHPExcel->getActiveSheet()->getStyle('A3:I3')->applyFromArray(
array(
'font' => array(
'bold' => true
),
'alignment' => array(
'horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_CENTER,
),
'borders' => array(
'top' => array(
'style' => PHPExcel_Style_Border::BORDER_THIN
)
),
'fill' => array(
'type' => PHPExcel_Style_Fill::FILL_GRADIENT_LINEAR,
'rotation' => 90,
'startcolor' => array(
'argb' => 'FFA0A0A0'
),
'endcolor' => array(
'argb' => 'FFFFFFFF'
)
)
)
);
$objPHPExcel->getActiveSheet()->fromArray($headings, null, 'A1');
$objPHPExcel->getActiveSheet()->fromArray($footer, null, 'A20');
$objPHPExcel->getActiveSheet()->fromArray($points, null, 'A4');
$row = 5;
foreach($result as $rows){
if (!empty($rows[4])) {
$objPHPExcel->getActiveSheet()->fromArray($rows, null, 'A' . $row);
$row++;
}
}
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header(sprintf('Content-Disposition: attachment;filename="%s.xlsx"',preg_replace('/\\r\\n?|\\n/', '', $title)));
header('Cache-Control: max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$objWriter->save('php://output');
exit;
}?>
最佳答案
for ( $n = 1; $n <=15; $n++ ){
$name = isset($_POST['name'.$n]) ? $_POST['name'.$n] : "";
if(!$name)
{
continue;
}
$no = 0+$n;
$aic = isset($_POST['aic'.$n]) ? $_POST['aic'.$n] : "";
$repcode = isset($_POST['repcode']) ? $_POST['repcode'] : "";
// $name = isset($_POST['name'.$n]) ? $_POST['name'.$n] : "";
$optA = isset($_POST['optA'.$n]) ? $_POST['optA'.$n] : "";
$optB = isset($_POST['optB'.$n]) ? $_POST['optB'.$n] : "";
$optC = isset($_POST['optC'.$n]) ? $_POST['optC'.$n] : "";
$optD = isset($_POST['optD'.$n]) ? $_POST['optD'.$n] : "";
$total = isset($_POST['total'.$n]) ? $_POST['total'.$n] : "";
$result[] = array(
$no,
"PRO13325-".$aic,
$repcode,
$name,
$optA,
$optB,
$optC,
$optD,
$total
);
}
关于php - 如何限制phpexcel中的循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21972442/
我已经完成了我的工作,直到在 excel 中获取 SQL 表数据,但我还想使用 PHPEXCEL 将数据转换为条形图。有人知道吗?怎么做?我的 PHPEXCEL 代码如下, $sql = "SELEC
我想阅读 Excel 工作表下拉列表中给出的选项列表。 例如: - 有一个单元格(86,G)没有尝试作为选项,但它是一个下拉列表。所以无论用户选择什么,我都想从下拉列表中读取最后一个选项。 如何实现这
我在使用 PHPExcel 设置自定义日期格式时遇到了一个奇怪的问题:我正在将一个 sql 格式的日期写入一个单元格,并使用 setFormatCode 将其格式设置为“d/m/y”。当我在 Exce
在 PHPExcel 中创建 XLS 文档时如何为事件单元格设置特定颜色? 最佳答案 $sheet->getStyle('A1')->applyFromArray( array(
我需要生成Excel文件,我进行了搜索,phpexcel似乎很好而且稳定。我想知道:* 鉴于它是一个 symfony2.0 项目,如何将它集成到我的项目中* 如果我可以通过这个 php 库完成我通常在
我在使用 PHPExcel 时遇到以下问题 function Test($a, $b) { // Create a new PHPExcel object with a single she
我想使用 PHPExcel 从 Excel 工作表中删除所有以“//”开头的行。我的代码: require '../Classes/PHPExcel.php'; require_once '../Cl
我的 EXCEL 到 CSV 转换代码正在运行...但对于特定的 Excel 文件,它出现错误 在第 950 行/var/www/portal/user/admin/pe/Classes/PHPExc
我正在使用 PHPExcel 库,我无法更改图表的颜色。 谁有解决办法,请告诉我? 检查这个屏幕我想改变蓝色、红色和绿色的颜色: 最佳答案 当前版本的 PHPExcel 不支持这样做。 在 this
我正在尝试将 PHPExcel 包含到 Silverstripe 3 站点以导出 Excel 工作表。现在我只是想测试,但在尝试时出现此错误: [Warning] require_once(/site
当我尝试从 excel 文件中提取信息时遇到了这个问题。这是我的情况,我从不同用户那里收到了 34 个 Excel 文件。 我正在使用 PHP 版本 5 从 Excel 文件中提取。我的脚本将循环每个
我有来自 phpExel 的这段代码。 $objPHPExcel->setActiveSheetIndex(1)->mergeCells('A1:I1'); 此代码在 A1 到 I1 列之间创建了一些
我正在使用 phpexcel 将我的查询导出到 excel 文件中;但是在我创建文件(xslx 格式)后,我无法在 excel 中打开我的文件。它给出了“文件格式或扩展名无效。验证文件没有损坏并且文件
我有以下代码: $vOffset = 2; $offset = 6; $formatRows = 100; $formatColumns = 100; //set conditional format
我正在尝试生成包含多个工作表的 Excel 文件,并且该文件正在使用正确的数据生成,但在打开它时出错。 错误是: 此外,当我尝试通过循环遍历工作表时,我无法访问除第一页外的工作表。 发生 PHP 错误
我在将 .xlsx 文件转换为 .csv 时遇到问题。当我尝试转换它时,会出现 csv 文件并激活 Text Wrap。问题是,我需要将该 csv 文件导入数据库,而当前格式不允许我这样做。我有一个问
这是我的电子表格中的内容: 12/04/2011 8:56:17 p.m. (xls dateserial = 40645.87242) 这是我用来提取日期并在 PHP 中转换为日期字符串的代码:
我正在使用 setReadDataOnly(true) 读取 XLS 文件。读取的对象将再次保存为新的 Excel 文件。不幸的是,某些单元格值计算不正确(这与使用小计公式的单元格的计算错误有关)。如
有谁知道用于将图案样式添加到单元格颜色的语法?我想添加一条细的反向斜条纹。 最佳答案 据我所知,这是不可能的。在 \Style\Fill.php ,这些似乎是唯一的选择,尽管可能会有更多选择的更新版本
我对拥有一些文件的PHPExcel的行为感到有些困惑。 这些文件包含大约。 3000行数据,但是根据PHPExcel,最后使用的行是65535。我尝试从文件中剪切几行并将其粘贴到新文件中,但无济于事。
我是一名优秀的程序员,十分优秀!