Tôi đang đọc tệp .xlsx bằng cách sử dụng Office Open XML SDK và bị nhầm lẫn về việc đọc giá trị Ngày/Giờ. Một trong các bảng tính của tôi có đánh dấu này (được tạo bởi Excel 2010)Điều gì cho biết một ô văn phòng mở XML có chứa một giá trị ngày/thời gian?
<x:row r="2" spans="1:22" xmlns:x="http://schemas.openxmlformats.org/spreadsheetml/2006/main">
<x:c r="A2" t="s">
<x:v>56</x:v>
</x:c>
<x:c r="B2" t="s">
<x:v>64</x:v>
</x:c>
.
.
.
<x:c r="J2" s="9">
<x:v>17145</x:v>
</x:c>
Di động J2 có giá trị chuỗi ngày tháng và thuộc tính kiểu s="9"
. Tuy nhiên, Office Open XML Specification nói rằng 9 tương ứng với một siêu liên kết được theo sau. Đây là ảnh chụp màn hình từ trang 4.999 của ECMA-376, Ấn bản thứ hai, Phần 1 - Nguyên tắc cơ bản và tham chiếu ngôn ngữ đánh dấu.pdf.
File presetCellStyles.xml kèm spec cũng đề cập đến builtinId
9 như một siêu liên kết sau.
<followedHyperlink builtinId="9">
Tất cả các kiểu trong spec chỉ là kiểu định dạng trực quan, chứ không phải kiểu số. Các kiểu số được định nghĩa ở đâu và cách thức phân biệt một tham chiếu kiểu dáng s="9"
để chỉ ra kiểu định dạng ô (hình ảnh) so với kiểu số?
Rõ ràng là tôi đang tìm kiếm địa điểm sai để khớp các kiểu trên các ô với định dạng số của chúng. Đâu là nơi thích hợp để tìm thông tin này?
Cảm ơn! Rất chi tiết, chính xác những gì tôi cần. Bạn lấy danh sách 'numFmtId' được tích hợp sẵn ở đâu? Là danh sách đầy đủ trong spec ở đâu đó? Ở đâu khác? –
Danh sách đầy đủ các định dạng số dựng sẵn có thể được tìm thấy trong phần 4 của các tài liệu Tiêu chuẩn Định dạng Tệp Mở XML của Văn phòng Ecma (http://www.ecma-international.org/news/TC45_current_work/TC45_available_docs.htm) cho các phần OpenXML 3,8,30 và 3,8.31 (trang 2127 đến 2143) –
cảm ơn một lần nữa. Tôi tìm thấy danh sách trong phần _ECMA-376, Second Edition, Phần 1 - Nguyên tắc cơ bản và tham khảo ngôn ngữ đánh dấu phần 18.8.30 trang 1964. –