嗨,我有这个代码来读取表单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];
}
Run Code Online (Sandbox Code Playgroud)
我打开文件,每行读取一次,每行读取每个单元格
好吧有时候行[8]是一个格式化的数字(100100.5),有时候不像(100,100.5)或其他什么我需要知道细胞类型,如果细胞不是数字就做一些改变.
运用
$rowData = $sheet->rangeToArray(
'A' . $i . ':' . $highestColumn . $i,
NULL,
True,
False
);
Run Code Online (Sandbox Code Playgroud)
将从范围返回原始值而不是格式化值
或者,对于单个细胞,您可以使用
$sheet->getCell('A8')->getDataType();
Run Code Online (Sandbox Code Playgroud)
获取存储在单元格中的实际数据类型.数据类型列表在.中定义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';
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4504 次 |
| 最近记录: |