2009-03-09 30 views

Trả lời

6

Bạn sẽ tải tệp vào JavaScript ở vị trí đầu tiên như thế nào?

Bên cạnh đó, Excel là một định dạng độc quyền và đủ phức tạp mà các thư viện phía máy chủ với nhiều năm phát triển (như Apache POI) vẫn chưa được quản lý một cách chính xác để 100% thiết kế đối chiếu các định dạng của Microsoft.

Vì vậy, tôi nghĩ câu trả lời là bạn không thể.

Cập nhật: Tức là trong JavaScript thuần túy.

Cập nhật 2: Nó bây giờ có thể tải các tập tin trong JavaScript: https://developer.mozilla.org/en-US/docs/DOM/FileReader

+0

JavaScript không thể đọc một tập tin trong chính nó (ngoại trừ các phần bổ sung gần đây có thể không có trong IE), nhưng bạn có thể giúp nó bằng cách sử dụng máy chủ web đáp ứng yêu cầu AJAX với các filecontents. Quản lý dữ liệu nhị phân tùy ý không dễ dàng trong JS (Ngoại trừ các bổ sung gần đây, có thể không tương thích với IE ...) – Frank

+3

Tôi không chắc chắn trạng thái của nghệ thuật là gì tại thời điểm bài đăng này, nhưng bây giờ chúng tôi làm có các API giống như đối tượng FileReader trong Firefox, Opera và Chrome để tải tệp vào Javascript. Bản chất độc quyền của định dạng vẫn là một vấn đề, mặc dù tôi đã thấy các thư viện cho các ngôn ngữ khác có khả năng phân tích cú pháp các tệp Excel cơ bản. –

+0

@wybiral http://niggler.github.io/js-xlsx/ và http://niggler.github.io/js-xls/ xuất hiện để phù hợp với hóa đơn –

-1

Để làm được tất cả mọi thứ trong js, bạn sẽ phải sử dụng ActiveX và có lẽ các thành phần web văn phòng là tốt. Chỉ là một gợi ý, nhưng có thể bạn không muốn đi tuyến đường này; nó sẽ không hiệu quả và chỉ có IE/Win. Bạn sẽ tốt hơn với giải pháp dựa trên máy chủ.

-2

Bạn có thực sự cần tệp Excel? Tại sao không sử dụng Excel để xuất dữ liệu trong CSV hoặc XML và tải dữ liệu đó?

Định dạng tệp Excel rất cụ thể đối với việc triển khai Excel. Nếu bạn chỉ cần dữ liệu, hãy sử dụng định dạng tệp chỉ chứa dữ liệu.

+1

Vấn đề với giải pháp đó là nó đòi hỏi phải can thiệp bằng tay. Các excel có nhiều bảng với rất nhiều fomulas và không có cách nào dễ dàng tự động để chuyển đổi xls để csv, atleast trong đó tôi biết. Vui lòng cập nhật điều này nếu bạn biết một số công cụ thực hiện điều này một cách đơn giản. – vivekian2

-1

Bạn sẽ cần phải sử dụng ActiveX (xem W3C trường học về việc sử dụng AJAX) và đăng ký tệp trong máy chủ lưu trữ Dataconnectors (chỉ máy tính lưu trữ tệp). Không giống như đã đề cập trước đây, phương pháp này không phụ thuộc vào nền tảng Microsoft (cho dù sao của khách hàng) và bạn không cần phải cài đặt các thành phần Office. Điều này có thể được thực hiện cho hầu hết các datafiles đăng ký trong Windows, bao gồm MDB, và cho phép bạn kiểm soát nhiều như bạn muốn, vì bạn có thể gán các Tài khoản Windows khác nhau cho các mục đích khác nhau.

Giống như tôi đã nói trước đây, tất cả điều này là serverside và không có tác động đến khách hàng, ngoài việc có thể truy xuất thông tin xác thực, hành động và tất cả điều đó.

Phương pháp này sử dụng JavaScript, SQL (không, thậm chí MSSQL, chỉ tiêu chuẩn SQL) và chỉ yêu cầu máy tính lưu trữ đang chạy BẤT CỨ nền tảng Microsoft NT.

Những gì các nhà cung cấp dữ liệu Windows làm là cung cấp giao diện tổng quát cho các thành phần dữ liệu khác nhau giống như DirectX dành cho các video và các thiết bị ngoại vi khác. Bạn cũng có thể sử dụng nó để liên kết MDB (Microsoft Access) với máy chủ MySQL và dữ liệu nguồn cấp dữ liệu theo cách đó, mà tôi tin là đơn giản hơn việc sử dụng bảng tính XLS ... đặc biệt là vì bạn có thể nhập XLS vào MDB.

2

Trong bốn năm qua, đã có nhiều tiến bộ. API tệp HTML5 đã được chấp nhận bởi các nhà cung cấp trình duyệt chính và cải tiến hiệu suất thực sự làm cho nó phần nào có thể phân tích các tệp excel (cả xls và xlsx) trong trình duyệt.

mục của tôi trong không gian này:

Cả hai đều là tinh khiết-JS parsers

Các vấn đề liên quan