Thay thế cho PHP_excel


132

Có sự thay thế nào cho PHP_excel có thể "Xuất ra tệp XLSX / XLS" ở định dạng tùy chỉnh không?

Đây là một câu hỏi tham khảo chung cho nhãn


2
Cho rằng các câu hỏi thường gặp về thư viện có thể đọc / ghi tệp Excel thường được trỏ đến câu trả lời này vì danh sách được cung cấp ... và danh sách được đề cập được cập nhật thường xuyên, tôi không đánh giá cao lý do tại sao nên đóng.
Mark Baker

1
Tôi không phải là một trong những người đóng cửa, nhưng lý do trong hộp "đóng như lạc đề" dường như khá khớp với tôi. Xem als: tại sao câu hỏi danh sách mua sắm là xấu . Tôi nhận ra câu trả lời của bạn là chất lượng cao và đang được cập nhật, nhưng bản thân câu hỏi vẫn thuộc danh mục ngoài chủ đề đó.
IMSoP

14
Mặc dù câu hỏi không đúng chủ đề, đây là câu hỏi thường gặp về chủ đề này và mang lại giá trị quan trọng. Xin vui lòng không đóng nó.
Gordon

Câu trả lời:


39

Tôi đã viết một lớp rất đơn giản để xuất sang "Excel XML" hay còn gọi là Bảng tính. Nó không hoàn toàn thuận tiện cho người dùng cuối như XSLX (tùy thuộc vào phần mở rộng tệp và phiên bản Excel, họ có thể nhận được thông báo cảnh báo), nhưng nó hoạt động dễ dàng hơn nhiều so với XLS hoặc XLSX.

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


1
Nếu bạn viết nó, bạn sẽ chia sẻ theo giấy phép nào bạn cung cấp nó? Tôi đã có vấn đề để giải mã nó từ câu trả lời của bạn. từ các nguồn bạn liên kết nhưng sẽ quan tâm để tìm hiểu thêm.
hakre

@Eli: Làm thế nào chúng ta có thể hợp nhất hai cột tại một hàng cụ thể?
joHN

1
@Eli, làm cách nào để tạo trang tính mới bằng mã của bạn?
ivanacorovic

Làm cách nào để tạo và tải xuống tệp xlsx bằng AJAX?

286

Để viết Excel

  • PHP_Excel_Writer của PEAR (chỉ xls)
  • php_writeexcel từ Bettina Attack (chỉ xls)
  • Trình tạo tệp XLS thương mại và chỉ xls
  • Trình ghi Excel cho PHP từ Sourceforge (chỉ bảng tínhML)
  • Phần mở rộng Excel của Ilia Alshanetsky hiện có trên github (xls và xlsx và yêu cầu thành phần libXL thương mại )
  • Phần mở rộng COM của PHP (yêu cầu chương trình bảng tính hỗ trợ COM như MS Excel hoặc OpenOffice Calc chạy trên máy chủ)
  • Giải pháp thay thế Open Office cho COM ( PUNO ) (yêu cầu Open Office được cài đặt trên máy chủ có hỗ trợ Java được bật)
  • Xuất-Dữ liệu PHP của Eli Dickinson (Viết Bảng tính ML - định dạng XML của Excel 2003 và CSV)
  • Php-excel của Oliver Schwarz (Bảng tính)
  • Phiên bản gốc của php-excel (Bảng tính) của Oliver Schwarz
  • excel_xml (Bảng tính, mặc dù tên của nó) ... liên kết được báo cáo là bị hỏng
  • Dự án nhỏ bé nhưng mạnh mẽ (tbs) bao gồm công cụ OpenTBS để tạo tài liệu OfficeOpenXML (định dạng OpenDocument và OfficeOpenXML)
  • SimpleExcel Yêu cầu đọc và viết các định dạng Microsoft Excel XML / CSV / TSV / HTML / JSON / etc
  • Chỉ các bảng tính KoolGrid xls, mà còn doc và pdf
  • PHP_XLSXWriter OfficeOpenXML
  • PHP_XLSXWriter_plus OfficeOpenXML, ngã ba của PHP_XLSXWriter
  • Chỉ xls php_writeexcel (có vẻ như nó dựa trên PEAR SEW)
  • phun ra OfficeOpenXML (xlsx) và CSV
  • Slamdunk / php-excel (chỉ xls) trông giống như một phiên bản cập nhật của Trình ghi bảng tính PEAR cũ

Để đọc Excel

Một tiện ích mở rộng C ++ Excel mới cho PHP, mặc dù bạn sẽ cần phải tự xây dựng nó và các tài liệu khá thưa thớt khi cố gắng tìm hiểu chức năng nào (tôi thậm chí không thể tìm ra từ trang web những định dạng nào hỗ trợ, hoặc cho dù nó đọc hay viết hoặc cả hai .... Tôi đoán cả hai) nó cung cấp là phpexcellib từ SIMITGROUP.

Tất cả các tuyên bố là nhanh hơn so với PHPExcel từ CodePlex hoặc từ github , nhưng (với ngoại lệ của COM, wrapper Puno Ilia của khoảng libXl và vòi) họ không cung cấp cả đọc và viết, hoặc cả hai xls và xlsx; có thể không còn được hỗ trợ; và (trong khi tôi chưa thử nghiệm tiện ích mở rộng của Ilia), chỉ COM và PUNO cung cấp cùng mức độ kiểm soát đối với sổ làm việc đã tạo.


Phần mở rộng của Ilia hiện hỗ trợ XLS và XLSX.
Sara

6
@RZB - Bạn sử dụng bất kỳ thư viện nào phù hợp với bạn, mặc dù MySQL không (theo như tôi biết) có bất kỳ chức năng nhập gốc nào cho các tệp .xls, chỉ cho .csv sử dụng LOAD DATA INFILE. Là nhà phát triển của PHPExcel, tôi chắc chắn sẽ quảng bá nó và giới thiệu nó khi thích hợp, nhưng tôi không thực thi việc sử dụng nó khi đó không phải là lựa chọn phù hợp nhất.
Mark Baker

1
@velcrow một động cơ nhẹ đẹp. Đề xuất tốt, cần một số công việc, nhưng xuất ra các tệp XSLX chất lượng
foochow 24/12/13

1
thanx cho thời gian quý báu của bạn.
Zain

1
@Mark, Sẽ thật tuyệt nếu bạn có thể làm một cái gì đó như$manyAnswers = split($libSeparator, $thisAnswer); // So we could vote and comment by lib
dap.tci
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.