exl 내용물이 이상합니다.

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
exl 내용물이 이상합니다.

QA

exl 내용물이 이상합니다.

본문

앞자리의 마지막 글자가 다음 내용에 자동으로 들어가고 이상한 깨진 문자가 들어가 있습니다.

3731116171_1595984781.166.png

 

include_once('./_common.php');

$sql = " select * 
           from {$g5['g5_shop_order_table']}
          where mb_id = '{$member['mb_id']}'
          order by od_id desc ";
$result = sql_query($sql);
$cnt = _num_rows($result);
if (!$cnt){
    alert("출력할 내역이 없습니다.");
}

include_once(G5_LIB_PATH.'/Excel/php_writeexcel/class.writeexcel_workbook.inc.php');
include_once(G5_LIB_PATH.'/Excel/php_writeexcel/class.writeexcel_worksheet.inc.php');

$fname = tempnam(G5_DATA_PATH, "tmp-inquirylist.xls");
$workbook = new writeexcel_workbook($fname);
$worksheet = $workbook->addworksheet();

// Put Excel data
$data = array('주문서번호', '주문일시', '상품명', '수량', '주문금액' ,'입금액', '미입금액', '상태', '주문자이름', '주문자전화번호', '주문자핸드폰', '주문자주소', '받으시는분이름', '받으시는분전화번호', '받으시는분핸드폰', '받으시는분주소');
$data = array_map('iconv_euckr', $data);

$col = 0;
foreach($data as $cell) {
    $worksheet->write(0, $col++, $cell);
}

$workbook->close();

header("Content-Type: application/x-msexcel; name=\"orderlist-".date("ymd", time()).".xls\"");
header("Content-Disposition: inline; filename=\"orderlist-".date("ymd", time()).".xls\"");
$fh=fopen($fname, "rb");
fpassthru($fh);
unlink($fname);

이 질문에 댓글 쓰기 :

답변 3


$head = array('주문서번호', '주문일시', '상품명', '수량', '주문금액' ,'입금액', '미입금액', '상태', '주문자이름', '주문자전화번호', '주문자핸드폰', '주문자주소', '받으시는분이름', '받으시는분전화번호', '받으시는분핸드폰', '받으시는분주소');
$data = array_map('iconv_euckr', $head);

로 바꿔보세요

위에 소스 걍 긁어서 실행해봤는데 잘됩니다

쿼리로 주문데이타를 가져와서 엑셀에 추가해주는 부분은 소스에 없는데 그 부분도 올려주세요

먼가 중복으로 write  하는거처럼 보입니다 

데이터 부분도 마찬가지입니다. 내용에 따라서 위가 같은 오류가 있는줄도 있고 없는줄도 있습니다.
$data = array('상품', '수량', '상태', '주문일' ,'입금액', '미입금', '주문금액', '주문서No', '주문자이름', '주문자주소', '주문자전화1', '주문자전화2', '받는사람이름', '받는사람주소', '받는사람전화1', '받는사람전화2');
이렇게 넣으면 또 정상으로 나옵니다.문자열짜르는 규칙에 문제가 있는것 같은데 특정한 규율이 없어서 확인이 안됩니다.

제가 위에 댓글 달아 드렷자나요
$data=array_map('iconv_euckr', $data) 이런식으로 자기 자신을 다시 할당하니까 문제가 생기는거에요
array_map 을 수행하는 변수랑 받을 변수를 다르게 선언하세요

// Put Excel data 바로위에 아래 내용이 빠졌네요? 괄호안 3번째 숫자는 엑셀 컬럼넓이입니다.

    $worksheet->set_column(0,0, 8);
    $worksheet->set_column(1,1, 16);
    $worksheet->set_column(2,2, 8);
    $worksheet->set_column(3,3, 8);
    $worksheet->set_column(4,4, 60);
.

.

.

    $worksheet->set_column(15,15, 60);

답변을 작성하시기 전에 로그인 해주세요.
전체 0
QA 내용 검색
  • 개별 목록 구성 제목 답변작성자조회작성일
  • 질문이 없습니다.

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT