estoy tratando de leer algunos archivos de Excel con phpexcel, que funciona bien hasta el momento. phpexcel es un poco demasiado inteligente y elimina los ceros iniciales de mis celdas. Supongo que necesito decirle que trate la celda como una cadena de texto, no como general o como número. pero he fallado Incluso encontré hilos en stackoverflow sobre esto, pero las soluciones sugeridas simplemente no funcionarían.formatos de celda en phpexcel
a continuación es un fragmento de las cosas en las que estoy trabajando.
foreach(@$objWorksheet->getRowIterator() as $row){
$cellIterator = $row->getCellIterator();
$cellIterator->setIterateOnlyExistingCells(false);
foreach($cellIterator as $cell){
#$objWorksheet->getStyle($cell->getCoordinate())->getNumberFormat()->setFormatCode('@');
$cells[] = $cell->getValue();
}
}
¿idea? No quiero limitarme solo a leer contenido numérico, ya que no tengo control sobre lo que subirán los usuarios. tratar todo como cadenas sería perfecto.
/peder
gracias, todo lo bueno. pero - aplica esto e intentó analizar un archivo csv, pero parece que todas mis celdas están formateadas como "generales". archivo se ve así: http://dl.dropbox.com/u/252696/csv.csv es esta una limitación del formato csv, y si es así, ¿no sería mejor si phpexcel acaba de devolver el contenido de las celdas ? – fjallstrom
Si PHPExcel simplemente devolviera las "cadenas", habría perdido toda su capacidad para procesar los datos de las hojas de cálculo de Excel.Si solo intenta leer un archivo CSV en una matriz, su mejor opción son las funciones integradas de manejo de csv de PHP, como fgetcsv() –
. Si desea que PHPExcel trate la entrada del archivo CSV como cadenas en lugar de números, entonces puede escribir un simple "filtro de lectura" que asegure que todas las entradas del archivo se tratan como cadenas. –