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

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

QA

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

답변 2

본문

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

게시판 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

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

 

 

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

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

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

좀 복잡하기는 한데..

 

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

할려면 할수는 있죠

일단

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

이걸 두개로 나누시고

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

로우를 따로 카운트 하시고

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

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

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 39
© SIRSOFT
현재 페이지 제일 처음으로