excel.php 로 파라미터, 값,변수 보내기

excel.php 로 파라미터, 값,변수 보내기

QA

excel.php 로 파라미터, 값,변수 보내기

답변 2

본문

리스트페이지에서 엑셀다운로드기능인데요


<button type="button" onclick="location.href='<?php echo G5_URL?>/pin_list_Excel.php'" target="_blank" class="btn btn-success" style="margin: 0 auto 20px;">엑셀다운로드</button>

버튼을 만든 후 pin_list_Excel.php 로 가게 하였습니다. 

근데 문제는 pin_list_Excel.php 에서 전체리스트가 아닌 조건문이 있어서 값을 주고받아야 페이지안에서 쿼리문을 돌려 엑셀다운로드를 되게 하고싶은데요 버튼을클릭하면 바로 엑셀이 다운받아져서 값을 보내고 받는것을 못하겠네요ㅠㅠ excel.php 로 값 주고받는 방법이 따로있을까요??

pin_list_Excel.php


<?php
include_once('./_common.php');
function column_char($i) { return chr( 65 + $i ); }
include_once(G5_LIB_PATH.'/PHPExcel.php');
 
$it_name = $_REQUEST["it_name"];
$io_id = $_REQUEST["io_id"];
 
$headers = array('번호','상품명','권 수','가격','핀번호','상태','등록일자');
$widths  = array(20);
$header_bgcolor = 'FFABCDEF';
$last_char = column_char(count($headers) - 1);
$sql = "SELECT * FROM 테이블 a INNER JOIN 테이블 b ON a.it_id = b.it_id WHERE a.ca_id = 'pg' and b.it_name = '$it_name' and b.io_id = '$io_id' ORDER BY b.datetime desc";
$result = sql_query($sql);
for($i=1; $row=sql_fetch_array($result); $i++) {
    $rows[] =
    array(  
    $row['no'],  
    $row['it_name'],  
    $row['io_id'],  
    $row['it_price'],  
    $row['pin'],
    $row['status'],
    $row['datetime']
     );
}
 
$data = array_merge(array($headers), $rows);
$excel = new PHPExcel();
// $excel->setActiveSheetIndex(0)->getStyle( "A1:${last_char}1" )->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID)->getStartColor()->setARGB($header_bgcolor);
$excel->setActiveSheetIndex(0)->getStyle( "A:$last_char" )->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER)->setWrapText(false);
foreach($widths as $i => $w) $excel->setActiveSheetIndex(0)->getColumnDimension( column_char($i) )->setWidth($w);
$excel->getActiveSheet()->fromArray($data,NULL,'A1');
header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename=\"pin_list-".date("ymd", time()).".xls\"");
header("Cache-Control: max-age=0");
$writer = PHPExcel_IOFactory::createWriter($excel, 'Excel5');
$writer->save('php://output');
?>

이 질문에 댓글 쓰기 :

답변 2

ajax 로 하시면

 

js 부분에 다음 추가하시구요

 


<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.0/jquery.min.js"></script>
<script>
    $(document).ready(function(){
        $("#excelDownloadBtn").click(function(){
            var it_name = "상품명";
            var io_id = "권 수";
            
            $.ajax({
                url: "excel.php",
                type: "POST",
                data: {
                    it_name: it_name,
                    io_id: io_id
                },
                success: function(response){
                    //여기에 추가하시려는 부분
                }
            });
        });
    });
</script>

 

php 파일에는 값 받아오셔야하니

 


$it_name = $_POST["it_name"];
$io_id = $_POST["io_id"];

 

추가

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