PHP를 사용하여 엑셀 파일로 데이터를 내보냅니다. PHPExcel 클래스를 사용하는 대신 간단한 프로그램을 작성했습니다.
엑셀 파일을 생성한 후 한 줄씩 데이터를 입력합니다
하지만 ID 번호가 출력됩니다. 과학적 표기법으로는 온라인에 해결책이 있습니다. 하나는 앞에 따옴표를 붙이는 것인데,
다른 하나는 http://www.cnblogs.com/jcz120...
입니다. 그런데 너무 번거로운 것 같네요. 이 두 가지 해결 방안 외에는 다른 방법이 없나요?
모두들 감사합니다
PHP를 사용하여 엑셀 파일로 데이터를 내보냅니다. PHPExcel 클래스를 사용하는 대신 간단한 프로그램을 작성했습니다.
엑셀 파일을 생성한 후 한 줄씩 데이터를 입력합니다
하지만 ID 번호가 출력됩니다. 과학적 표기법으로는 온라인에 해결책이 있습니다. 하나는 앞에 따옴표를 붙이는 것인데,
다른 하나는 http://www.cnblogs.com/jcz120...
입니다. 그런데 너무 번거로운 것 같네요. 이 두 가지 해결 방안 외에는 다른 방법이 없나요?
모두들 감사합니다
ID 번호에 공백을 추가하면 실제로는 숫자가 문자열로 변환됩니다.
ID번호 앞에 작은따옴표(영문 입력 상태에서는 작은따옴표)를 추가하세요. 예: '4400202....
작은따옴표를 추가하거나 미리 셀 형식을 텍스트 형식으로 변경하세요. 이 두 가지가 여전히 번거롭나요?
앞에 작은따옴표가 있음: $objPHPExcel->getActiveSheet()->setCellValue('A1', "'". 123456789033);
데이터 유형 지정: <code>$objPHPExcel->getActiveSheet()->setCellValueExplicit('A1',123456789033, PHPExcel_Cell_DataType::TYPE_STRING);</code>
아주 간단합니다. 끝에 "431226198910135411"."t"를 추가하면 완전히 해결됩니다. 문제가 해결되면 WeChat 공개 계정: phpgod를 팔로우하는 것을 잊지 마세요.
+++업데이트된 구분선, 시간: 2016-10-9 11:18:09+++
segmentfault 편집자가 정말 역겨워서 위의 t가 탈출되었습니다. 젠장!
csv
, xls
, xlsx
어떤 형식으로 생성하시나요? 1이나 3이면 csv
은 구분자를 누르는 게 상대적으로 쉽지만 어렵습니다. 문자열을 처리하는 데 필요한 xlsx
은 xml입니다(이것을 캡슐화하고 처리한 것 같습니다). xlsx
의 형식에는 문자열을 저장하기 위한 xml이 특별히 포함되어 있습니다. 문자열의 일련 번호(이와 같이 반복되는 문자열이 차지하는 리소스를 줄이도록 설계되었습니다). 그런데 PHPExcel
을 사용하는 것이 더 좋습니다. 그냥 Composer require
를 사용합니다. 예전에 엑셀을 읽고 생성하는 라이브러리도 작성했는데 나중에는 호환성이 더 까다로워서 그냥 PHPExcel
을 사용합니다. 결국 다른 사람들은 많은 구멍을 메웠습니다.
또한 위에는 PHPExcel의 문자열 처리 방법이 언급되어 있습니다.
위층 복사:
<code>$objPHPExcel->getActiveSheet()->setCellValueExplicit('A1',123456789033, PHPExcel_Cell_DataType::TYPE_STRING);</code>