2012-04-10 23 views
5

Tìm kiếm một lớp PHP để tạo các tệp xlsx HUGE, mà không phải phân bổ bộ nhớ khổng lồ cho toàn bộ tệp để vừa với bộ nhớ.PHPExcel viết-on-the-fly?

Chúng tôi yêu PHPExcel nhưng cần một cách để viết-on-the-fly, so với tải toàn bộ tập tin trong bộ nhớ, sau đó gọi một hàm để viết nó.

Đã xem một câu hỏi tương tự, nhưng không có con trỏ rõ ràng nào cho giải pháp.

Để làm rõ -

Bạn có 1GB bộ nhớ khả dụng và cần tạo tệp Excel 3GB.

Có lớp/phương pháp hiện có để thực hiện việc này không?

+1

Nếu bạn không cần công thức/định dạng, bạn có thể làm điều đó dưới dạng tệp CSV và giả vờ là tệp .xlsx. CSV là siêu dễ dàng để phát ra từng phần. –

+0

dữ liệu của bạn phức tạp như thế nào? nếu nó đơn giản và tuyến tính, có lẽ bạn có thể viết dưới dạng csv và nhập vào excel sau – lunixbochs

+0

Cảm ơn - Có, tôi biết chúng tôi có thể sử dụng CSV/TXT vv. Nhưng chúng tôi đặc biệt có yêu cầu đối với Excel. Tệp được tải xuống bởi khách hàng từ dịch vụ web của chúng tôi và phải trông đẹp mắt (tiêu đề đơn giản, biểu tượng công ty, v.v.) –

Trả lời

-3

Yay!

Chúng tôi đã giải quyết vấn đề này bằng cách viết lớp PHP Excel của riêng mình, có khả năng tạo các tệp xlsx kích thước UNLIMITED, bằng cách ghi trực tiếp (không bao giờ tải tất cả dữ liệu vào bộ nhớ).

Cảm ơn mọi người đã đóng góp ý kiến ​​phản hồi của bạn! Được đánh giá cao.

Lớp học của chúng tôi không có tất cả các chuông & còi cung cấp phpexcel.codeplex. Chúng tôi hỗ trợ phông chữ, kiểu dáng cơ bản và tạo trang tính tự động khi tập dữ liệu của bạn vượt quá 1 triệu hàng.

Đi vệ sinh lớp học và đặt nó trên Github để mọi người sử dụng. Tôi sẽ cập nhật bài đăng này với url ngay khi có sẵn.

+1

Và, bạn đã đặt nó trên Github chưa? :-) Chúng tôi đang đối mặt với cùng một vấn đề, vì vậy tôi đã tìm thấy câu trả lời này. Sẽ rất tuyệt nếu có một thư viện tốt. – Geert

+1

¿Thư viện của bạn đã hoàn thành chưa? Tôi đang gặp vấn đề tương tự. – gustavomanolo

+0

Vui lòng đăng giải pháp của bạn ở đâu đó, ở bất cứ đâu hoặc đóng góp nó cho dự án PHPExcel. – Aaron

0

Bí mật để tạo tệp xlsx là viết chúng dưới dạng bảng HTML, đây là cách siêu nhanh để tạo bảng tính Excel cơ bản.

Bí quyết là viết một bảng HTML và lưu nó với phần mở rộng .xlsx. Sau đó, nó có thể được mở bằng Excel. Đơn giản.

Và với HTML, bạn có thể tạo các tiêu đề tốt đẹp đó với biểu trưng của công ty. Nó có tất cả mọi thứ!

+0

Bí quyết ngọt ngào! Sẽ thử nghiệm nó ra và xác minh Excel và OpenOffice mở các tập tin html-đổi tên-xlsx mà không phàn nàn. –

+0

Cảm ơn! Yea, tôi phát hiện ra nó một cách tình cờ, và thấy rằng nó thực sự giảm kích thước tập tin! :) –

+0

Dường như không làm việc cho tôi. Bạn có chắc chắn nó hoạt động đúng với các tập tin xlsx? Không phải tệp xlsx là tệp ZIP của tệp xml theo định nghĩa? –