打印 excel 文件中的最后一家公司
printing last company in the excel file
我在 PHP 上使用 PHPExcel 和 TCPDF 完成了一个程序。我可以根据所在的列在 excel 文件中列出 select 家公司。
我在已经定义的列之间和我可以扫描到 "next company's name" 的行之间跟踪公司。这样我就可以在屏幕上打印出来了。
我上传了我的 excel 文件的截图...
在我从 excel 文件中检索数据后,它看起来像
然而,当我select上次公司时,由于没有"next company",所以没有return结果;相反,它给出了一个错误。
我的问题: 我如何控制 "last company" 并像其他人一样打印出来。我不能为最后一个设置特殊条件。
我的代码的相关部分如下所示:
if(isset($_POST['submit']))
{
$selected_val = $_POST['my_select']; // Storing Selected Value In Variable
$only_row = explode('.',$selected_val);
//echo "You have selected :" .$selected_val. "<br />"; // Displaying Selected Value
//echo "selected row value :".$only_row[1]. "<br />"; this shows selected company's row number
for($i=0; $i< $count; $i++)
{
if ($comp[$i][2]== $only_row[1])
{
$info_end=($comp[$i+1][2]-1);// here table ends before the next company's name begins
}
}
}
else{error_reporting(E_ALL ^ E_NOTICE);}
$rowCompanyInfoStart = $only_row[1]+2;
$rowCompanyInfoEnd = $info_end;
$colCompanyInfoStart = 'C';
$colCompanyInfoEnd = 'M';
PS:如能明确答复,将不胜感激
如果问题有什么不清楚的地方,请告诉我。
您只需在 $i
上进行测试,因为 $i = $count-1
时您无法访问 $comp[$i+1][2]-1
。
如果这是最后一行,那么做一些不同的事情:
for($i=0; $i< $count; $i++) {
if ($comp[$i][2]== $only_row[1]) {
// line found
if($i == ($count - 1)) {
// what you want to do on last line...
} else {
// what to do normally
$info_end=($comp[$i+1][2]-1);
}
}
}
感谢@Random
这是我的完整解决方案,除了最后一家公司
if(isset($_POST['submit']))
{
$selected_val = $_POST['my_select']; // Storing Selected Value In Variable
$only_row = explode('.',$selected_val);
//echo "You have selected :" .$selected_val. "<br />"; // Displaying Selected Value
//var_dump($only_row);
//echo "selected row value :".$only_row[1]. "<br />";
for($i=0; $i< $count; $i++) {
if ($comp[$i][2]== $only_row[1]) {
// line found
if($i == ($count - 1)) {
// what you want to do on last line...
$info_end=($objPHPExcel->setActiveSheetIndex(0)->getHighestRow());
}
else {
$info_end=($comp[$i+1][2]-1);
}
}
}
}
我在 PHP 上使用 PHPExcel 和 TCPDF 完成了一个程序。我可以根据所在的列在 excel 文件中列出 select 家公司。 我在已经定义的列之间和我可以扫描到 "next company's name" 的行之间跟踪公司。这样我就可以在屏幕上打印出来了。
我上传了我的 excel 文件的截图...
在我从 excel 文件中检索数据后,它看起来像
然而,当我select上次公司时,由于没有"next company",所以没有return结果;相反,它给出了一个错误。
我的问题: 我如何控制 "last company" 并像其他人一样打印出来。我不能为最后一个设置特殊条件。
我的代码的相关部分如下所示:
if(isset($_POST['submit']))
{
$selected_val = $_POST['my_select']; // Storing Selected Value In Variable
$only_row = explode('.',$selected_val);
//echo "You have selected :" .$selected_val. "<br />"; // Displaying Selected Value
//echo "selected row value :".$only_row[1]. "<br />"; this shows selected company's row number
for($i=0; $i< $count; $i++)
{
if ($comp[$i][2]== $only_row[1])
{
$info_end=($comp[$i+1][2]-1);// here table ends before the next company's name begins
}
}
}
else{error_reporting(E_ALL ^ E_NOTICE);}
$rowCompanyInfoStart = $only_row[1]+2;
$rowCompanyInfoEnd = $info_end;
$colCompanyInfoStart = 'C';
$colCompanyInfoEnd = 'M';
PS:如能明确答复,将不胜感激
如果问题有什么不清楚的地方,请告诉我。
您只需在 $i
上进行测试,因为 $i = $count-1
时您无法访问 $comp[$i+1][2]-1
。
如果这是最后一行,那么做一些不同的事情:
for($i=0; $i< $count; $i++) {
if ($comp[$i][2]== $only_row[1]) {
// line found
if($i == ($count - 1)) {
// what you want to do on last line...
} else {
// what to do normally
$info_end=($comp[$i+1][2]-1);
}
}
}
感谢@Random 这是我的完整解决方案,除了最后一家公司
if(isset($_POST['submit']))
{
$selected_val = $_POST['my_select']; // Storing Selected Value In Variable
$only_row = explode('.',$selected_val);
//echo "You have selected :" .$selected_val. "<br />"; // Displaying Selected Value
//var_dump($only_row);
//echo "selected row value :".$only_row[1]. "<br />";
for($i=0; $i< $count; $i++) {
if ($comp[$i][2]== $only_row[1]) {
// line found
if($i == ($count - 1)) {
// what you want to do on last line...
$info_end=($objPHPExcel->setActiveSheetIndex(0)->getHighestRow());
}
else {
$info_end=($comp[$i+1][2]-1);
}
}
}
}