Guten Morgen. Ich versuche, eine XLS-Datei aus drei verschiedenen CSV-Dateien zu erstellen, die von Windows aus im Verzeichnis /temp abgelegt werden. Diese CSV-Dateien enthalten Daten aus einer Datenbank. Mein Problem ist, dass ich nicht weiß, warum die Ausgabe so anders ist, als sie sein sollte. Ich habe drei Blätter in meinem .xls-Dokument für jede der .csv-Dateien, aber ich erhalte nur den Inhalt einer der Dateien, und dieser überschreibt die Kopfzeile des Dokuments und verändert ihn. Hier ist mein Code
Guten Morgen. Ich versuche, eine XLS-Datei aus drei verschiedenen CSV-Dateien zu erstellen, die von Windows aus im Verzeichnis /temp abgelegt werden. Diese CSV-Dateien enthalten Daten aus einer Datenbank. Mein Problem ist, dass ich nicht weiß, warum die Ausgabe so anders ist, als sie sein sollte. Ich habe drei Blätter in meinem .xls-Dokument für jede der .csv-Dateien, aber ich erhalte nur den Inhalt einer der Dateien, und dieser überschreibt die Kopfzeile des Dokuments und verändert ihn. Hier ist mein Code
$objPHPExcel->getActiveSheet(2)->setTitle('Normas'); $objPHPExcel->getActiveSheet()->getStyle('A1:M1')->getFont()->setBold(true); $objPHPExcel->getActiveSheet()->getStyle('A1:M1')->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID); $objPHPExcel->getActiveSheet()->getStyle('A1:M1')->getFill()->getStartColor()->setARGB('FFFF00'); $objPHPExcel->getActiveSheet()->getRowDimension(1)->setRowHeight(-1); $objPHPExcel->getActiveSheet()->setAutoFilter('A1:M1'); $objPHPExcel->getActiveSheet()->freezePane('A1'); /** * Usamos un iterador para darle estilos a cada columna del excel */ $fileSystem = new DirectoryIterator("C:\Windows\Temp"); chdir("C:\Windows\Temp"); foreach ($fileSystem as $tempFile) { if (preg_match("/price\d*.csv/", $tempFile->getFilename())) { $objPHPExcel->setActiveSheetIndex(0); $objReader = new PHPExcel_Reader_CSV(); $objReader->setInputEncoding('CP1252'); $objReader->setDelimiter(';'); $objReader->setEnclosure(''); $objReader->setLineEnding("\n"); $objReader->setSheetIndex(0); $objReader->loadIntoExisting($tempFile->getFilename(), $objPHPExcel); } else if (preg_match("/allotment\d*.csv/", $fileSystem->getFilename())) { $objPHPExcel->setActiveSheetIndex(1); $objReader = new PHPExcel_Reader_CSV(); $objReader->setInputEncoding('CP1252'); $objReader->setDelimiter(';'); $objReader->setEnclosure(''); $objReader->setLineEnding("\n"); $objReader->setSheetIndex(0); $objReader->loadIntoExisting($tempFile->getFilename(), $objPHPExcel); } else if (preg_match("/price\d*.csv/", $fileSystem->getFilename())) { $objPHPExcel->setActiveSheetIndex(2); $objReader = new PHPExcel_Reader_CSV(); $objReader->setInputEncoding('CP1252'); $objReader->setDelimiter(';'); $objReader->setEnclosure(''); $objReader->setLineEnding("\n"); $objReader->setSheetIndex(0); $objReader->loadIntoExisting($tempFile->getFilename(), $objPHPExcel); } else { continue; } $fileSystem->next(); }
foreach ($objPHPExcel->getWorksheetIterator() as $worksheet) { /** * Cogemos el index de la hoja activa en el momento para poder iterar * entre las hojas */ $objPHPExcel->setActiveSheetIndex($objPHPExcel->getIndex($worksheet));
$sheet = $objPHPExcel->getActiveSheet(); $cellIterator = $sheet->getRowIterator()->current()->getCellIterator(); $cellIterator->setIterateOnlyExistingCells(true); /** * Mediante este foreach le damos el formato que queramos a las columnas, * si la columna es "mayor"(alfabéticamente) a la J se le da un width * de 40, si no tiene autoSize */ foreach ($cellIterator as $cell) { //print_r($sheet->getColumnDimension($cell->getColumn())); if ($sheet->getColumnDimension($cell->getColumn())->getColumnIndex() > "J") { $sheet->getColumnDimension($cell->getColumn())->setAutoSize(false); $sheet->getColumnDimension($cell->getColumn())->setWidth(40); $sheet->getDefaultStyle()->getFont()->setName('Calibri')->setSize(9); } else { $sheet->getColumnDimension($cell->getColumn())->setAutoSize(true); $sheet->getDefaultStyle()->getFont()->setName('Calibri')->setSize(9); } } }
$objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel); $objWriter->save('php://output'); [/code]
Die Ausgabe, die es machen sollte, ist die folgende: https://ufile.io/a1a1b
Könnte Helfen Sie mir bitte bei diesem Problem? Vielen Dank im Voraus für Ihre Zeit und Mühe.
Ich habe ein A-Tag in meiner HTML-Datei, das auf eine .csv-Datei verweist. Jedes Mal, wenn ich auf den Link klicke, wird dieselbe Datei mit der Erweiterung .xls heruntergeladen. Warum?
Ich versuche, eine XLSX-Datei mit PHPExcel zu lesen und die Ergebnisse in meiner Ansicht wiederzugeben, aber wenn ich die Datei ausführe, zeigt der Browser nichts als eine leere Seite an. Hier ist...
Ich muss von der angehängten Datei in die SQL -Tabelle exportieren, aber ich erhalte diesen Fehler. Was ist los?
String ExcelFileExtension = Path.GetExtension(fileBrowser.FileName);
//Check the...
Ich stehe derzeit vor dem folgenden Problem:
Ausnahme im Thread „main“ java.lang.NoClassDefFoundError: org/apache/poi/ss/usermodel/Sheet
bei net.sf.dynamicreports.jasper.transformation...