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.
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?
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.
@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
Odpowiedzi:
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
źródło
Do pisania Excela
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.
źródło
$manyAnswers = split($libSeparator, $thisAnswer); // So we could vote and comment by lib