테스트 사이트 - 개발 중인 베타 버전입니다

엑셀저장시 DATA 나누기 가능한지요?

레드페퍼스 5년 전 조회 5,203

게시판의 내용을 엑셀로 저장하는 작업을 하고 있는데요

게시판 DB에서 데이타는 잘저장 됩니다.

 

엑셀에서 셀을 조정하는 과정에서 문제가 좀 발생해서리..

예를 들어서요

 

//

  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, $board.".xls");
    $workbook = new writeexcel_workbook($fname);
    $worksheet = $workbook->addworksheet();

 

$data = array('번호','날짜','제목','위치','크기','사진',전화번호','주소','사용내역','취미','특기','요리');

$data = array_map('iconv_euckr',$data);

 

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

    for($i=1; $row=sql_fetch_array($result); $i++)
    {
        $row = array_map('iconv_euckr', $row);
        
        $up_date = date("20y-m-d", strtotime($row['wr_datetime']));
         $worksheet->write($i, 0, $i, $titleformat);
         $worksheet->write($i, 1, $up_date);
         $worksheet->write($i, 2, $row['wr_subject']);
         $worksheet->write($i, 3, $row['wr_1']);
         $worksheet->write($i, 4, $row['wr_2']);
         $worksheet->write($i, 5, $row['wr_3']);

         $worksheet->write($i, 6, $row['wr_4']);
         $worksheet->write($i, 7, $row['wr_5']);
         $worksheet->write($i, 8, $row['wr_6']);

         $worksheet->write($i, 9, $row['wr_7']);
         $worksheet->write($i, 10, $row['wr_8']);
         $worksheet->write($i, 11, $row['wr_9']);

          $worksheet->write($i, 12, $row['wr_10']);

 }

  $workbook->close();
    
    header("Content-charset=utf-8");
    header("Content-Type: application/x-msexcel; name=\"{$bo_table}-".date("ymd", time()).".xls\"");
    header("Content-Disposition: inline; filename=\"{$bo_table}-".date("ymd", time()).".xls\"");
    $fh=fopen($fname, "rb");
    fpassthru($fh);
    unlink($fname);
    exit;
}
if (mysql_num_rows($result) == 0)
{
    echo "<script>alert('출력할 내역이 없습니다.'); window.close();</script>";
    exit;
}
?>

 

========================================================

위의 소스대로 하면

엑셀에 

번호 날짜 제목 위치 크기 사진 전화번호 주소 사용내역 취미 특기 요리
1                      
2                      

 

이렇게 출력 저장이 됩니다.

 

=========================================================

이것을 나눠서 하고 싶은데 잘안되네요

리스트 내용을 별도로 각각 저장이 되도록 하고 싶거든요.

 

 

번호 날짜 제목 위치 크기 사진            
1 내용 내용 내용 내용 내용            
전화번호 주소 사용내역 취미 특기 요리            
내용 내용 내용 내용 내용 내용            
                       
                       

 

번호 날짜 제목 위치 크기 사진            
2 내용 내용 내용 내용 내용            
전화번호 주소 사용내역 취미 특기 요리            
내용 내용 내용 내용 내용 내용            
                       
                       

 

이런식으로 

하고 싶은데 될런지...

 

$data = array('번호','날짜','제목','위치','크기','사진',전화번호','주소','사용내역','취미','특기','요리');

 

이것을 두개로 나누고

그런다음 데이터가 하나씩 별도로 저장이 되도록 할려면 어케해야할지....

 

고수님들 도와주세요!!!!

댓글을 작성하려면 로그인이 필요합니다.

답변 2개

5년 전

할려면 할수는 있죠

일단

$data = array('번호','날짜','제목','위치','크기','사진',전화번호','주소','사용내역','취미','특기','요리');

이걸 두개로 나누시고

 $worksheet->write($i, 0, $i, $titleformat); 여기서 $i를 다른값을 주시고

로우를 따로 카운트 하시고

원하실때 늘리시면서 작업을 하시면되겠죠

말로 할려니 정확하게는 표현이 안되는데 for문 돌아가는곳에서 번호 같은 제목 넣고 내용 넣는걸 한꺼번에 처리하시면 됩니다.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

레드페퍼스
5년 전
아..블랙캣77님 말씀대로 너무 어렵네요. 괜찮으시다면 코드를 좀 부탁드려도 될런지요.. 그리고 이미지는 어케 불러와야 하나여? 사진

댓글을 작성하려면 로그인이 필요합니다.

이걸 왜 하는거죠??????????

 

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

레드페퍼스
5년 전
그냥 목록만 출력할거가 아니라 각 리스트마다 엑셀에 라인을 주고 구분을 해서 프린트 할려다 보니

각 데이터에 헤더말을 붙이고

셀을 한줄로 할경우 너무 길고, 사진도 나오게 칸을 만들어서 할려다 보니..

좀 복잡하기는 한데..



어떻게 구현할 방법이 없을까요?

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인