>  기사  >  백엔드 개발  >  mysql - php 내보내기 엑셀 데이터, 신분증 출력 문제

mysql - php 내보내기 엑셀 데이터, 신분증 출력 문제

WBOY
WBOY원래의
2016-10-11 14:23:161412검색

PHP를 사용하여 엑셀 파일로 데이터를 내보냅니다. PHPExcel 클래스를 사용하는 대신 간단한 프로그램을 작성했습니다.
엑셀 파일을 생성한 후 한 줄씩 데이터를 입력합니다
하지만 ID 번호가 출력됩니다. 과학적 표기법으로는 온라인에 해결책이 있습니다. 하나는 앞에 따옴표를 붙이는 것인데,
다른 하나는 http://www.cnblogs.com/jcz120...
입니다. 그런데 너무 번거로운 것 같네요. 이 두 가지 해결 방안 외에는 다른 방법이 없나요?
모두들 감사합니다

답글 내용:

PHP를 사용하여 엑셀 파일로 데이터를 내보냅니다. PHPExcel 클래스를 사용하는 대신 간단한 프로그램을 작성했습니다.
엑셀 파일을 생성한 후 한 줄씩 데이터를 입력합니다
하지만 ID 번호가 출력됩니다. 과학적 표기법으로는 온라인에 해결책이 있습니다. 하나는 앞에 따옴표를 붙이는 것인데,
다른 하나는 http://www.cnblogs.com/jcz120...
입니다. 그런데 너무 번거로운 것 같네요. 이 두 가지 해결 방안 외에는 다른 방법이 없나요?
모두들 감사합니다

ID 번호에 공백을 추가하면 실제로는 숫자가 문자열로 변환됩니다.

ID번호 앞에 작은따옴표(영문 입력 상태에서는 작은따옴표)를 추가하세요. 예: '4400202....

작은따옴표를 추가하거나 미리 셀 형식을 텍스트 형식으로 변경하세요. 이 두 가지가 여전히 번거롭나요?

  1. 앞에 작은따옴표가 있음: $objPHPExcel->getActiveSheet()->setCellValue('A1', "'". 123456789033);

  2. 데이터 유형 지정: <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>
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.