Ptium v1.69.30
Ptium 1.69.30
납기 2025-01-21 이 슬라이드에 "2025-01-21T13:30:00" 으로 나왔습니다
통합 문서를 "Strict Open XML Spreadsheet" 로 저장하면 — 보존용 문서고나
공공기관 제출본이 요구하는 그 형식입니다 — 엑셀은 날짜를 며칠째인지 세는
숫자가 아니라 날짜 그 자체로 씁니다. 셀에 t="d" 가 붙고 값은
2025-01-21T13:30:00 이라는 글자입니다.
리더는 날짜라면 숫자일 것이라고만 알고 있었으므로 이 글자를 숫자로 읽으려다
실패했고, 실패한 값은 손대지 않고 지나갔습니다. 셀에 어떤 날짜 서식이 붙어
있든 상관없이, 저장된 글자가 그대로 슬라이드에 실렸습니다.
통합 문서: 엄격 스키마로 저장한 발주서 (t="d")
서식: yyyy-mm-dd ← 납기 열
시트: 납기 | 2025-01-21
이전: 납기 | 2025-01-21T13:30:00
지금: 납기 | 2025-01-21
가운데의 T 는 사람이 쓰는 표기가 아닙니다. 그것이 붙은 채로 슬라이드에 나오면
발표 자료가 아니라 파일을 내보내다 만 화면처럼 보이고, 게다가 그 슬라이드에는
어느 시트에서 가져왔는지 출처까지 달려 있습니다.
얼마만큼을 보여 줄지는 셀 서식이 정합니다
이제 t="d" 를 순간으로 읽고, 일련번호로 저장된 날짜와 똑같은 규칙으로
서식이 무엇을 보여 줄지 정합니다.
- 날짜 서식(
yyyy-mm-dd) —2025-01-21 - 날짜+시각(
yyyy-mm-dd hh:mm) —2025-01-21 13:30 - 시각(
h:mm) —13:30 - 서식이 초를 적으면(
hh:mm:ss) 초까지 —13:30:00
서식이 없거나(General), 백분율·경과 시간처럼 순간에 맞지 않는 서식이면 저장된
순간 자체를 씁니다 — 자정이면 날짜만, 시각이 있으면 시각까지, 초가 있으면
초까지. 통합 문서가 아무 말도 하지 않았는데 값을 잘라내지는 않습니다.
시간대는 읽되 옮기지 않습니다. 13:30+09:00 으로 적힌 회의는 슬라이드에서도
13:30 입니다. 다른 표준시로 환산하면 발표 자료의 회의 시각이 통째로
움직이는데, 시트가 보여 주는 시각은 적힌 그 시각이기 때문입니다.
순간이 아닌 값은 전과 같이 손대지 않고 그대로 둡니다.
지키는 장치
internal/docs/sheetmoments_test.go 가 서식과 값 19가지를 보고, 순간이 적힐 수
있는 열 가지 모양(오프셋이 붙은 것, Z, 소수점 초, 시각 없는 날짜, 분까지만
적힌 것)을 각각 확인합니다. 그리고 엄격 스키마로 저장한 통합 문서 한 개를
통째로 읽어, 납기 열이 슬라이드에 2025-01-21 로 도착하는지를 봅니다.