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

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 = @sql_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개 / 댓글 4개
// 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);
위에 소스 걍 긁어서 실행해봤는데 잘됩니다
쿼리로 주문데이타를 가져와서 엑셀에 추가해주는 부분은 소스에 없는데 그 부분도 올려주세요
먼가 중복으로 write 하는거처럼 보입니다
답변에 대한 댓글 2개
$data=array_map('iconv_euckr', $data) 이런식으로 자기 자신을 다시 할당하니까 문제가 생기는거에요
array_map 을 수행하는 변수랑 받을 변수를 다르게 선언하세요
$head = array('주문서번호', '주문일시', '상품명', '수량', '주문금액' ,'입금액', '미입금액', '상태', '주문자이름', '주문자전화번호', '주문자핸드폰', '주문자주소', '받으시는분이름', '받으시는분전화번호', '받으시는분핸드폰', '받으시는분주소');
$data = array_map('iconv_euckr', $head);
로 바꿔보세요
답변에 대한 댓글 2개
답변을 작성하려면 로그인이 필요합니다.
$data = array('상품', '수량', '상태', '주문일' ,'입금액', '미입금', '주문금액', '주문서No', '주문자이름', '주문자주소', '주문자전화1', '주문자전화2', '받는사람이름', '받는사람주소', '받는사람전화1', '받는사람전화2');
이렇게 넣으면 또 정상으로 나옵니다.문자열짜르는 규칙에 문제가 있는것 같은데 특정한 규율이 없어서 확인이 안됩니다.