2011-11-25 63 views
6

Tôi đã thấy các chương trình xuất sang Excel theo hai cách khác nhau.Lập trình tạo tệp Excel trong C++

  1. Mở Excel và nhập tế bào dữ liệu bằng tế bào (trong khi nó đang chạy nó trông giống như một vĩ mô tại nơi làm việc)
  2. Tạo một tập tin Excel trên đĩa và ghi dữ liệu vào tập tin (như tính năng Export trong MS Truy cập)

Số 1 cực kỳ chậm và đối với tôi điều đó thật đơn giản.

Số 2 là những gì tôi cần làm. Tôi đoán tôi cần một số loại SDK để tôi có thể tạo các tập tin Excel trong C + +.

  1. Tôi có cần các SDK khác nhau cho .xls và .xlsx không?
  2. Tôi lấy các thông tin này ở đâu? (Tôi đã thử Googling nó nhưng các SDK tôi đã tìm thấy trông giống như họ làm những việc khác hơn là cung cấp một giao diện để tạo ra các tập tin Excel).
  3. Khi nói đến thời gian chạy, MS Office có yêu cầu trên PC cần tạo tệp Excel hoặc bạn có nhận được tệp DLL phân phối lại mà bạn có thể triển khai với tệp thi hành của mình không?
+3

Tệp có phải là tệp Excel không? Nếu tất cả những gì bạn đang làm là xuất dữ liệu, bạn có thể lưu [tệp CSV] (http://en.wikipedia.org/wiki/Comma-separated_values) thay vào đó là cách, cách dễ dàng hơn để tạo và Excel (hoặc bất kỳ chương trình bảng tính câm) sẽ không có vấn đề gì khi mở nó. –

Trả lời

8

Bạn có thể dễ dàng thực hiện việc đó bằng định dạng XML Excel. Kiểm tra wikipedia về điều đó:

http://en.wikipedia.org/wiki/Microsoft_Excel#XML_Spreadsheet

Định dạng này được giới thiệu trong Excel 2002, và nó là một cách dễ dàng để tạo ra một tập tin XLS.

+2

Một thời gian rất dài trước đây, tôi đã làm điều này bằng cách sử dụng chỉ HTML đơn giản, và đổi tên tệp thành xls, và Excel cũng hài lòng với điều đó ... – Nim

+2

Một cách khác để tránh sử dụng các định dạng riêng tư và bổ sung là tạo tệp CSV, excel chuyển đổi chúng một cách chính xác thành xls. –

0

Bạn cũng có thể thử làm việc với các tệp XLS/XLSX trên các trình điều khiển ODBC hoặc ADO giống như cơ sở dữ liệu với mức sử dụng hạn chế. Bạn có thể sử dụng một số mẫu nếu bạn cần định dạng hoặc tạo tệp từ stratch. Tất nhiên bạn bị giới hạn bằng cách chơi với các giá trị trường theo cách đó. Để tạo kiểu, v.v., bạn sẽ cần phải sử dụng API Excel như Microsoft.

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