웹페이지 엑셀저장시 출력값 변환
CMS/프레임워크 | 사용안함 |
---|---|
개발 언어 | PHP 7.0 |
필요에 의해 회원정보를 가져와 엑셀로 저장하는 페이지를 만들었습니다.
문제는 웹에서 볼때는 정상인데 엑셀로 저장을 하면 데이터 형식이 변환이 됩니다.
회원 확장변수 값에 text 값으로 06-17 와 같은 값이 들어가 있을 경우
엑셀로 저장을 하면 06월 17일 과 같이 날짜로 바뀌어 저장이 됩니다.
엑셀에서 06월 17일을 클릭하면 2021-06-17 로 되어 있고 해당 쎌은 사용자지정 형식으로
mm"월" dd"일" 이 값으로 되어 있습니다.
등록된 값이 97-116 이런형태는 그대로 출력이 되는데(엑셀에서 형식이 일반으로 되어 있음) , 월일 형태는 저런식으로 변경이 되어 저장이되어서. 문제가 되는 부분의 형식을 사용자지정 형태가 아닌 일반 형태로 변경을 하면 아예 다른값으로 바뀝니다.
혹시 이부분을 입력한 그대로 출력 되도록 하는 방법은 없을까요?
똑띠
Lv. 6
댓글 4
애초에 저장할 때 해당 셀을 날짜 형식으로 인식하지 않도록 셀 속성을 지정해 줘야 합니다.
사용하시는 라이브러리에 따라 이 기능을 지원할 수도 있고 안할 수도 있습니다.
설마 HTML table로 출력하고 계신 건 아니겠죠?
검색하다 못찾아서 질문 올렸는데...질문 올리고 나니 검색이 되네요.
문제가 되는 부분에 스타일을 style=mso-number-format:'\@' 이 값을 지정해 주니 정상적으로 나오네요.
html 테이블로 출력하면 문제라도 있을까요?
HTML 테이블로 만든 엑셀파일을 열 때마다 한 번씩 경고가 뜨는 것, 그리고 셀 내용 중 태그로 오인할 만한 것이 있다면 마치 XSS 공격처럼 셀을 벗어나서 엉뚱한 짓을 할 수 있다는 점ㅡ.ㅡ 외에 특별한 문제는 없습니다.
마법의 스타일 속성을 찾으셨다니 다행이네요. ㅎㅎ
일하다 보면 참 여러가지 상황들이 많이 발생하네요.