Tôi đang xuất dữ liệu từ CxDBGrid sang tệp Excel. Tôi có thể tạo tệp và sao chép dữ liệu trong đó, nhưng tôi đang gặp sự cố thực sự với định dạng cột. Vì tôi đang lấy dữ liệu từ DB nên tôi muốn bảng tính phản ánh loại: NUMBER, VARCHAR2, DATE và v.v. tôi trực quan tạo ra một vĩ mô, đi để tìm kiếm mã VBA, và lặp lại nó trong dự án Delphi:Làm cách nào để đặt loại và định dạng cột Excel?
sheet.Columns[K+2].NumberFormat := '0,000'; //Number
sheet.Columns[K+2].NumberFormat := '@'; //Text
sheet.Columns[K+2].NumberFormat := 'm/d/yyyy'; //Date
Số định dạng công trình ok nhất của thời đại, nhưng hai người kia thì không. Khi tôi mở tệp được tạo, các cột văn bản sẽ hiển thị dưới dạng "Tùy chỉnh" và mỗi ô hiển thị "-64". Nếu tôi đi chỉnh sửa ô, giá trị chính xác thực sự ở đó. Ngày là một vấn đề khác: định dạng của DB là dd/mm/yyyy và nếu tôi nạp nó vào Excel, nó sẽ bị rối tung lên. Tôi đã thử thiết lập định dạng đúng, nhưng sau đó Excel không nhận ra nó.
Bất kỳ manh mối nào?
Tôi cũng đang đặt chiều rộng cột. Điều đó hoạt động hoàn hảo.
Tôi giả sử khi bạn nói cxDbGrid bạn đang đề cập đến các thành phần của Express Express. Nếu vậy, bạn có đang xuất sang Excel bằng cách sử dụng thủ tục ExportGridToExcel() do Nhà phát triển Express cung cấp không? –
Tôi đã thử nhưng nó có vấn đề với thiết lập kiểu dữ liệu. Đó là lý do tại sao tôi muốn làm những việc thủ công – asg2012
Tôi sử dụng ExportGridToExcel() một số địa điểm mà không có bất kỳ vấn đề nào liên quan đến loại dữ liệu hoặc định dạng khi xuất. Nếu không nhìn thấy mã của bạn, thật khó để tìm ra lý do tại sao nó không hoạt động cho bạn. Thay vì gặp rắc rối khi viết xuất của riêng bạn, tôi sẽ hỏi trong trang web hỗ trợ của Nhà phát triển Express nếu họ có thể giúp bạn. Hỗ trợ của họ rất tuyệt và thường họ có thể giúp bạn giải quyết khá nhanh chóng. –