Dưới đây là ý kiến của tôi:
1
. Sử dụng Nhà cung cấp OLEDB
sẽ chỉ phù hợp với nhu cầu của bạn nếu bạn có các bảng có cấu trúc đơn giản, thống nhất. Nó sẽ không giúp bạn nhiều, ví dụ, nếu bạn phải trích xuất bất kỳ thông tin định dạng ô nào. Thuật toán "đoán kiểu hàng" lỗi của động cơ phản lực có thể làm cho phương pháp này hầu như không sử dụng được. Nhưng nếu kiểu dữ liệu có thể được xác định duy nhất từ một vài hàng đầu tiên của mỗi bảng, thì cách tiếp cận này có thể là đủ. Pro: nó rất nhanh và nó hoạt động ngay cả trên các máy mà MS Excel không được cài đặt.
2
. Đối tượng Excel Interop
có thể rất chậm, đặc biệt so với tùy chọn 1 và bạn cần cài đặt MS Excel. Nhưng bạn có thể truy cập hoàn toàn vào mô hình đối tượng của Excel, bạn có thể trích xuất hầu hết mọi thông tin (ví dụ: định dạng thông tin, màu sắc, khung hình) được lưu trữ trong tệp Excel của bạn và các trang tính của bạn có thể được cấu trúc phức tạp như bạn muốn.
3
. Đặt dữ liệu Excel vào Cơ sở dữ liệu và Thủ tục Sử dụng
phụ thuộc vào loại kết xuất cơ sở dữ liệu nào bạn có trong tâm trí và nếu bạn có hệ thống cơ sở dữ liệu trong tầm tay. Nếu bạn đang nghĩ đến việc truy cập MS, điều này sẽ sử dụng lại động cơ phản lực một lần nữa, với những ưu và nhược điểm tương tự như cách tiếp cận 1 ở trên.
Các tùy chọn khác:
4
. viết một macro VBA Excel để đọc dữ liệu bạn cần và ghi nó vào một tệp văn bản. Đọc tệp văn bản từ chương trình C#. Pro: nhanh hơn nhiều so với phương pháp 2, với tính linh hoạt tương tự trong việc truy cập thông tin meta. Con: bạn phải chia chương trình của bạn thành phần VBA và phần C#. Và bạn cần MS Excel trên máy của bạn.
5
. Sử dụng thư viện/thành phần của bên thứ ba cho tác vụ này. Có rất nhiều thư viện cho công việc, miễn phí và thương mại. Chỉ cần hỏi Google hoặc tìm kiếm ở đây trên SO.Rất nhiều libs không yêu cầu MS Excel trên máy, và chúng thường là lựa chọn tốt nhất nếu bạn định trích xuất dữ liệu như một phần của quá trình máy chủ.
Nguồn
2010-10-07 21:10:55
Câu hỏi của bạn không rõ ràng. Đọc thêm về cách đặt câu hỏi SO tại đây: http://tinyurl.com/so-hints – Oded