- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试获取包含 excel 工作簿中数据的最后一行问题是在某些工作表中我得到了正确的数据,但在其他工作表中我没有,我尝试使用 getHighestDataRow()
更改我的代码而不是 getHighestRow()
但我一直得到相同的结果,所以我将我的 PHPExcel 库从 PHPExcel_1.7.9_doc 更新为 PHPExcel_1.8.0_doc 但结果也相同。
有任何想法吗 ?
我正在考虑在循环中创建一个 if 语句来测试每一行是否为空。
$lastRowt = $excel2->getActiveSheet()->getHighestDataRow();
echo" $lastRowt ";
$lastRowt
继续获得 34 但它只有 30 。
<html>
<?php
ini_set('max_execution_time', 300);
ini_set("memory_limit",-1);
require_once 'PHPExcel_1.7.9_doc/Classes/PHPExcel/IOFactory.php';
require_once 'include/adb.php';
$excel2 = PHPExcel_IOFactory::createReader('Excel2007');
$excel2 = $excel2->load('try.xlsx');
$sheetCount = $excel2->getSheetCount();
for ($x=0; $x<$sheetCount; $x++) {
echo"now $x <br>";
$excel2->setActiveSheetIndex($x);
$objWorksheet = $excel2->getActiveSheet();
$po = $objWorksheet->getCellByColumnAndRow(1, 7)->getValue();
$in = $objWorksheet->getCellByColumnAndRow(6, 7)->getValue();
$id = date('Y-m-d',PHPExcel_Shared_Date::ExcelToPHP($objWorksheet->getCellByColumnAndRow(6, 8)->getValue()));
$esv = $objWorksheet->getCellByColumnAndRow(4, 19)->getValue();
$won = $objWorksheet->getCellByColumnAndRow(0, 21)->getValue();
$DTH = $objWorksheet->getCellByColumnAndRow(1, 21)->getValue();
$wn = $objWorksheet->getCellByColumnAndRow(3, 21)->getValue();
$rco = $objWorksheet->getCellByColumnAndRow(4, 21)->getValue();
$wc = $objWorksheet->getCellByColumnAndRow(5, 21)->getValue();
$rch = $objWorksheet->getCellByColumnAndRow(6, 21)->getValue();
$wd = $objWorksheet->getCellByColumnAndRow(0, 22)->getValue();
$cs = 1 ;
$query="INSERT INTO invoice
(saponum, invoicenum, invoicedate, esvnum,workordernum, dth, wellnum, regcode, wellcharge, rigcharge, workdescription, idc)VALUES
( '$po', '$in', '$id', '$esv', '$won','$DTH', '$wn', '$rco', '$wc', '$rch', '$wd', '$cs' )";
echo" query <br> $query <br>";
mysql_query($query);
$queryi="select idv from invoice where invoicenum = $in ";
echo" query <br> $in <br>haya de el qwery bta3et el idv $queryi ";
$idnt = mysql_query($queryi);
$outputidernt=mysql_fetch_array($idnt);
extract($outputidernt);
$lastRowt = $excel2->getActiveSheet()->getHighestDataRow();
echo"<br> $lastRowt <br>";
$rn = 25 ;
for($i=$lastRowt ; $i>=28 ; $i--){
$qty = $objWorksheet->getCellByColumnAndRow(0, $rn)->getValue();
echo "qty = $qty";
$item = $objWorksheet->getCellByColumnAndRow(1, $rn)->getValue();
echo "item = $item";
$describtion = $objWorksheet->getCellByColumnAndRow(2, $rn)->getValue();
echo "describtion = $describtion";
$unit = $objWorksheet->getCellByColumnAndRow(4, $rn)->getValue();
echo "unit = $unit";
$pric = $objWorksheet->getCellByColumnAndRow(5, $rn)->getValue();
echo "pric = $pric";
$rn++ ;
$queryit=" SELECT ids FROM pricelist WHERE itemnum = '$item' AND saponum = '$po' ";
echo" queryit <br> $queryit <br>";
$idniter = mysql_query($queryit);
$outputider=mysql_fetch_array($idniter);
extract($outputider);
$querys="INSERT INTO invoicestep ( ids , quantity , idv) VALUES ( '$ids','$qty','$idv' )";
echo" querys <br> $querys <br>";
mysql_query($querys);
}
}
?>
</html>
最佳答案
我在获得最高列之前遇到过这个问题,这是由于单元格中的格式和公式。即使单元格不显示值,也不意味着单元格为空。 PHPExcel 将读取看似空的单元格,但实际上其中包含一些格式或公式。
如果您是这种情况,您可以清除内容下方的所有格式/公式。如果文件是在其他地方生成的,有时这是不可行的,因此我建议在创建阅读器之后和加载文件之前添加以下代码行:$excel2->setReadDataOnly(true);
因此该代码块应读为:
$excel2 = PHPExcel_IOFactory::createReader('Excel2007');
$excel2->setReadDataOnly(true);
$excel2 = $excel2->load('try.xlsx');
关于php - 关于 getHighestRow() 的数据不准确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26203838/
我正在尝试获取包含 excel 工作簿中数据的最后一行问题是在某些工作表中我得到了正确的数据,但在其他工作表中我没有,我尝试使用 getHighestDataRow() 更改我的代码而不是 getHi
$eanStyle = new \PHPExcel_Style(); $eanStyle->getNumberFormat()->applyFromArray([ 'code' => '000
我是一名优秀的程序员,十分优秀!