您好我有这个代码来读取表格excel文件并使用joomla
添加到数据库try
{
$inputFileType = PHPExcel_IOFactory::identify($inputFileName);
$objReader = PHPExcel_IOFactory::createReader($inputFileType);
$objReader = PHPExcel_IOFactory::createReader($inputFileType);
$objPHPExcel = $objReader->load($inputFileName);
}
catch(Exception $e) {
die('Error loading file "'.pathinfo($inputFileName,PATHINFO_BASENAME).'": '.$e->getMessage());
}
$sheet = $objPHPExcel->getSheet(0);
$highestRow = $sheet->getHighestRow();
$highestColumn = $sheet->getHighestColumn();
for($i = 11; $i <= $highestRow; $i++)
{
$rowData = $sheet->rangeToArray('A' . $i . ':' . $highestColumn . $i,
NULL,
TRUE,
True
);
$row = $rowData[0];
$valeur1 = $row[8];
}
我打开文件,每行读取一次,每行读取每个单元格
有时候,行[8]是一个格式化的数字(100100.5),有时候不像(100,100.5)或其他 好吧,如果单元格不是数字,我需要知道单元格类型以进行一些更改。
答案 0 :(得分:5)
使用
$rowData = $sheet->rangeToArray(
'A' . $i . ':' . $highestColumn . $i,
NULL,
True,
False
);
将从范围返回原始值,而不是格式化值
或者,对于单个单元格,您可以使用
$sheet->getCell('A8')->getDataType();
获取存储在单元格中的实际数据类型。数据类型列表在Classes/PHPExcel/Cell/DataType.php
const TYPE_STRING2 = 'str';
const TYPE_STRING = 's';
const TYPE_FORMULA = 'f';
const TYPE_NUMERIC = 'n';
const TYPE_BOOL = 'b';
const TYPE_NULL = 'null';
const TYPE_INLINE = 'inlineStr'; // Rich text
const TYPE_ERROR = 'e';