Alternatywa dla PHP_excel

132

Czy jest jakaś alternatywa dla PHP_excel, która może „Eksportować do pliku XLSX / XLS” w niestandardowym formacie?

To jest ogólne pytanie referencyjne dla etykietka

Sandeep
źródło
2
Biorąc pod uwagę, że często zadawane pytania bibliotekom, które potrafią czytać / zapisywać pliki Excela, są regularnie wskazywane na tę odpowiedź ze względu na dostarczoną listę ... i że lista, o której mowa, jest regularnie aktualizowana, nie doceniam, dlaczego należało ją zamknąć.
Mark Baker
1
Nie byłem jednym z zamykających, ale powód w polu „zamknięty jako nie na temat” wydaje się być całkiem podobny do mnie. Zobacz als: dlaczego pytania dotyczące listy zakupów są złe . Zdaję sobie sprawę, że twoja odpowiedź jest wysokiej jakości i jest aktualizowana, ale samo pytanie nadal należy do tej kategorii niezwiązanej z tematem.
IMSoP
14
Chociaż pytanie jest technicznie niezwiązane z tematem, jest to kanoniczne pytania i odpowiedzi na ten temat i oferuje znaczną wartość. Proszę nie zamykać go.
Gordon,

Odpowiedzi:

39

Napisałem bardzo prostą klasę do eksportowania do "Excel XML" znanej jako SpreadsheetML. Nie jest to tak wygodne dla użytkownika końcowego jak XSLX (w zależności od rozszerzenia pliku i wersji Excela może otrzymać ostrzeżenie), ale jest o wiele łatwiejsze w obsłudze niż XLS lub XLSX.

http://github.com/elidickinson/php-export-data

Eli
źródło
1
Gdybyś to napisał, czy podzieliłbyś się, na jakiej licencji to oferujesz? Miałem problemy z rozszyfrowaniem tego na podstawie Twojej odpowiedzi. ze źródeł, które podałeś, ale chciałbyś dowiedzieć się więcej.
hakre
@Eli: Jak możemy scalić dwie kolumny w jednym wierszu?
joHN
1
@Eli, jak mam utworzyć nowe arkusze za pomocą Twojego kodu?
ivanacorovic
Jak wygenerować i pobrać plik xlsx za pomocą AJAX?
Guru
289

Do pisania Excela

  • PEAR's PHP_Excel_Writer (tylko xls)
  • php_writeexcel z Bettina Attack (tylko xls)
  • Tylko komercyjny generator plików XLS i xls
  • Excel Writer for PHP firmy Sourceforge (tylko arkusz kalkulacyjny ML)
  • Rozszerzenie Ilii Alshanetsky'ego do programu Excel jest teraz dostępne na github (xls i xlsx i wymaga komercyjnego komponentu libXL )
  • Rozszerzenie COM dla PHP (wymaga programu obsługującego arkusze kalkulacyjne COM, takiego jak MS Excel lub OpenOffice Calc działającego na serwerze)
  • Alternatywa Open Office dla COM ( PUNO ) (wymaga zainstalowania Open Office na serwerze z włączoną obsługą języka Java)
  • PHP-Export-Data autorstwa Eli Dickinson (pisze SpreadsheetML - format XML programu Excel 2003 i CSV)
  • Php-excel Olivera Schwarza (SpreadsheetML)
  • Oryginalna wersja php-excel Olivera Schwarza (SpreadsheetML)
  • excel_xml (SpreadsheetML, pomimo swojej nazwy) ... link zgłoszony jako uszkodzony
  • Projekt tiny-but-strong (tbs) zawiera narzędzie OpenTBS do tworzenia dokumentów OfficeOpenXML (formaty OpenDocument i OfficeOpenXML)
  • SimpleExcel Claims odczytuje i zapisuje formaty Microsoft Excel XML / CSV / TSV / HTML / JSON / etc
  • Tylko arkusze kalkulacyjne KoolGrid xls, ale także doc i pdf
  • PHP_XLSXWriter OfficeOpenXML
  • PHP_XLSXWriter_plus OfficeOpenXML, rozwidlenie PHP_XLSXWriter
  • Tylko php_writeexcel xls (wygląda na to, że jest oparty na PEAR SEW)
  • wylewka OfficeOpenXML (xlsx) i CSV
  • Slamdunk / php-excel (tylko xls) wygląda jak zaktualizowana wersja starego programu PEAR Spreadsheet Writer

Do czytania programu Excel

Nowe rozszerzenie C ++ Excel dla PHP, chociaż musisz je samodzielnie zbudować, a dokumenty są dość rzadkie, jeśli chodzi o próbę ustalenia funkcjonalności (nie mogę nawet dowiedzieć się z witryny, jakie formaty obsługuje, albo czy czyta, czy pisze, czy jedno i drugie ... zgaduję, że jedno i drugie) oferuje phpexcellib z SIMITGROUP.

Wszystkie twierdzą, że są szybsze niż PHPExcel z codeplex lub z github , ale (z wyjątkiem COM, opakowania PUNO Ilia wokół libXl i spout) nie oferują zarówno czytania i pisania, jak i xls i xlsx; może nie być już obsługiwany; i (chociaż nie testowałem rozszerzenia Ilii) tylko COM i PUNO oferują ten sam stopień kontroli nad stworzonym skoroszytem.

Mark Baker
źródło
Rozszerzenie Ilii obsługuje teraz XLS i XLSX.
Sara
6
@RZB - Używasz dowolnej biblioteki, która Ci odpowiada, chociaż MySQL nie ma (o ile wiem) żadnej natywnej funkcji importu dla plików .xls, tylko dla .csv używając LOAD DATA INFILE. Jako programista PHPExcel z pewnością będę go promować i polecać w stosownych przypadkach, ale nie wymuszam jego użycia, gdy nie jest to najbardziej odpowiednia opcja.
Mark Baker
1
@velcrow to ładny, lekki silnik. Dobra rekomendacja, wymaga trochę pracy, ale generuje wysokiej jakości pliki
XSLX
2
dzięki za Twój cenny czas.
Zain
1
@Mark, Byłoby wspaniale, gdybyś mógł zrobić coś takiego$manyAnswers = split($libSeparator, $thisAnswer); // So we could vote and comment by lib
dap.tci