Einführung in die Schritte der PHP-Verarbeitung in Excel
Auf Probleme stoßen
Bei der täglichen Arbeit besteht häufig die Notwendigkeit, eine Datenbanktabelle nach Excel zu exportieren oder Excel in eine Datenbanktabelle zu importieren. Diese Anforderung wurde schon vor langer Zeit erkannt, um den Import und Export zu erleichtern. Brothers www.lampbrother.net hat sie als Datensätze in zwei Methoden unterteilt.
Code-Implementierung
Verweis auf die PHPExcel-Klassenbibliothek
PHPExcel verfügt über leistungsstarke Excel-Verarbeitungsfunktionen und wurde millionenfach auf Packagist heruntergeladen, aber um ehrlich zu sein, ist die Verarbeitungsgeschwindigkeit von Excel immer noch sehr langsam. Verwenden Sie es mit Vorsicht, wenn die Datenmenge groß ist. Nachdem Sie von Packagist heruntergeladen oder Composer direkt verwendet haben, benötigen Sie phpoffice/phpexcel. Sie können phpexcel verwenden.
Nach Excel exportieren
In den meisten Fällen handelt es sich beim Excel-Export tatsächlich um die Konvertierung eines zweistelligen Arrays in eine Tabelle.
use namespace PHPExcel;
/**
* @param $name string Der Name des zu speichernden Excel
* @param $ret_data In ein zweidimensionales Array von Tabellen konvertiert
* @throws PHPExcel_Exception
* @throws PHPExcel_Reader_Exception
*/
function exportExcel($name, $ret_data){
$objPHPExcel = new PHPExcel(); Tabelle festlegen
$objPHPExcel->getProperties()->setCreator($name)
->setLastModifiedBy($name)
->setTitle("Office 2007 XLSX Test Document")
->setSubject („Office 2007 XLSX-Testdokument“)
-> setCategory("Testergebnisdatei");
array_values($row);
$i=0;
foreach ($row as $key2 => $value2) {
$objPHPExcel->setActiveSheetIndex(0)->setCellValue( Cell::stringFromColumn Index( $i). ($num), $value2);
)- >setTitle( $name );
header('Content-Type: application/vnd.ms-excel');
header("Content-Disposition: attachment;filename={$name}.xls"); 'Cache-Control: max-age=0');
header('Cache-Control: max-age=1');
header('Last-Modified: ' . gmdate('D, d M Y H :i:s') . ' GMT');
header('Cache-Control: Cache, Must-Revalidate'); $ Objwriter = Phpexcel_iofactory :: Createwriter ($ Objphpexcel, 'Excel5'); Format.
Funktion getRows($inputFileName)
{
if (!file_exists($inputFileName)) {
throw new Exception("File not existed");
}
$inputFileType = PHPExcel_IOFactory::identify($inputFileName);
$objReader = PHPExcel_IOFactory::createReader($inputFileType);
$objPHPExcel = $objReader->load($inputFileName);
$objWorksheet = $objPHPExcel->getActiveSheet();
$highestRow = $objWorksheet->getHighestRow();
$highestColumn = $objWorksheet->getHighestColumn();
$highestColumnIndex = PHPExcel_Cell::columnIndexFromString($highestColumn);//总列数
$row = 1;
$curr = array();
while ($row for ($col = 0; $col $value = str_replace(array("n", "nr" , "r"), "", $objWorksheet->getCellByColumnAndRow($col, $row)->getValue());
$curr[$row][] = $value;
}
$row ;
}
return $curr; 🎜 >导入时如果有多个sheet时需要在上次打开时在要导入的sheet页(以保证当前sheet为activeSheet)关闭,或者根据sheet名在程序中选择sheet。