Mam takie pytanie czy istnieje jakaś biblioteka, która umozliwia wybranie z plików exel do bazy mysql ?
Masz na myśli to żeby przenieść dane z komórek arkusza np do nowo-stworzonej tabeli której kolumny odpowiadają kolumną excela, a recordy wierszom?
Spróbuj wpisać w google: "php import sql from excel"
Trafiłem na tą bibliotekę PhpSpreadsheet
I teraz zapisanie do pliku działa, ale już odczytanie nie jak próbuje wywołać metodę load
To dostaje komunikat
Call to undefined method PhpOffice\PhpSpreadsheet\Writer\Xlsx::load()
O to jest cały kod
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
use PhpOffice\PhpSpreadsheet\Writer\Csv;
class Controller extends BaseController
{
use AuthorizesRequests, DispatchesJobs, ValidatesRequests;
public function t() {
$spreadsheet = new Spreadsheet();
//$ Reader = new SpreadsheetReader ( $ targetPath );
//$sheet = $spreadsheet->getActiveSheet();
//$sheet->setCellValue('A1', 'Hello World !');
$a = new Xlsx($spreadsheet);
$spreadsheet2 = $a->load('hello world.xlsx');
pol90 napisał(a):
I teraz zapisanie do pliku działa, ale już odczytanie nie jak próbuje wywołać metodę load
To dostaje komunikat
Call to undefined method PhpOffice\PhpSpreadsheet\Writer\Xlsx::load()
https://phpspreadsheet.readthedocs.io/en/stable/topics/reading-files/
5 sekund mi zajęło znalezienie tej dokumentacji - a pierwszy raz widzę libkę na oczy.
Już wcześniej próbowałem coś zrobić z load i zwraca min listę elementów tablicy, ale jak próbuje wywołać metodę
ChangeSheet
to jest komunikat nie można wywołac metody ChangeSheet próbowałem zrobić to za pomocą poradnika https://phppot.com/php/import-excel-file-into-mysql-database-using-php/
$inputFileName = 'magda1.ods';
/** Load $inputFileName to a Spreadsheet Object **/
$spreadsheet = \PhpOffice\PhpSpreadsheet\IOFactory::load($inputFileName);
$sheetData = $spreadsheet->getActiveSheet()->toArray(null, true, true, true);
for ($i=0;$i < count($sheetData);$i++) {
//var_dump($spreadsheet);
$sheetData->ChangeSheet($i);
print $sheetData[$i];
}
A jeszcze takie pytanie bo nigdy nie korzystałem z exela i teraz w pętli foreach trzeba się odwołać do poszczególnych pól i teraz jak próbuje sie odwołać do pola A to jest komunikat Trying to get property of non-object
pol90 napisał(a):
A jeszcze takie pytanie bo nigdy nie korzystałem z exela i teraz w pętli foreach trzeba się odwołać do poszczególnych pól i teraz jak próbuje sie odwołać do pola A to jest komunikat Trying to get property of non-object
Próbowałeś wpisać w google "phpspreadsheet iterate cells"?