尝试 page.İt 的工作。并下载 excel(xlsx) 文件。但是一些代码,在 tableCreate.php=>class TableCreate => function Excele_Aktar() 中调用另一个 php 文件。İt 不起作用。并返回废话 ajax 返回。我共享ajax返回,底部。
导出Excel_Php.php
<?php
session_start();
$rapor_adi="deneme_rapor";
header( 'Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' );
header( 'Content-Disposition: attachment;filename="'.$rapor_adi.'.xlsx"' );
header( 'Cache-Control: max-age=0' );
$excel_yol = $_SESSION[ 'kok_dizin' ] . "Excel_Islemler/PHPExcel/Classes/PHPExcel.php";
require_once( $excel_yol );
$phpexcel = new PHPExcel();
$phpexcel->setActiveSheetIndex( 0 );
$sheet = $phpexcel->getActiveSheet();
$phpexcel->getActiveSheet()->setTitle( 'Sayfa1' );
$phpexcel->getActiveSheet()->setCellValue( "A1", "Tarih" );
$phpexcel->getActiveSheet()->setCellValue( "B1", "Saat" );
$phpexcel->getActiveSheet()->setCellValue( "C1", "Order Adı" );
$phpexcel->getActiveSheet()->setCellValue( "D1", "Band No" );
$topac5 = 2;
$phpexcel->getActiveSheet()->setCellValue( "A$topac5", "Tarih Veri" );
$phpexcel->getActiveSheet()->setCellValue( "B$topac5", "Saat Veri" );
$phpexcel->getActiveSheet()->setCellValue( "C$topac5", "Order Adı Veri" );
$phpexcel->getActiveSheet()->setCellValue( "D$topac5", "Band No Veri" );
$style_header = array(
'font' => array(
'bold' => true,
'size' => "12",
),
'alignment' => array(
'horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_CENTER,
)
);
$phpexcel->getActiveSheet()->getStyle( "A1:D1" )->applyFromArray( $style_header );
$phpexcel->getActiveSheet()->getColumnDimension( 'A' )->setWidth( "13" );
$phpexcel->getActiveSheet()->getColumnDimension( 'B' )->setWidth( "7" );
$phpexcel->getActiveSheet()->getColumnDimension( 'C' )->setWidth( "12" );
$phpexcel->getActiveSheet()->getColumnDimension( 'D' )->setWidth( "10" );
$writer = PHPExcel_IOFactory::createWriter( $phpexcel, 'Excel2007' );
$writer->setIncludeCharts( TRUE );
$writer->save( 'php://output' );
return "Rapor Excele Aktarıldı";
?>
我从这里另一个 php 页面调用 tableCreate =>Excele_Aktar() 方法。
表创建.php
<?php
session_start();
class TableCreate {
function Excele_Aktar( $rapor_adi, $rapor_tablo_columns, $rapor_tablo_data, $periyot ) {
header( 'Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' );
header( 'Content-Disposition: attachment;filename="Detayli_Operasyon_Raporu.xlsx"' );
header( 'Cache-Control: max-age=0' );
$excel_classes_yol = $_SESSION[ 'kok_dizin' ] ."Excel_Islemler/PHPExcel/Classes/PHPExcel.php";
require( $excel_classes_yol );
$phpexcel = new PHPExcel();
$phpexcel->setActiveSheetIndex( 0 );
$sheet = $phpexcel->getActiveSheet();
$phpexcel->getActiveSheet()->setTitle( 'Sayfa1' );
$phpexcel->getActiveSheet()->setCellValue( "A1", "Tarih" );
$phpexcel->getActiveSheet()->setCellValue( "B1", "Saat" );
$phpexcel->getActiveSheet()->setCellValue( "C1", "Order Adı" );
$phpexcel->getActiveSheet()->setCellValue( "D1", "Band No" );
$topac5 = 2;
$phpexcel->getActiveSheet()->setCellValue( "A$topac5", "Tarih Veri" );
$phpexcel->getActiveSheet()->setCellValue( "B$topac5", "Saat Veri" );
$phpexcel->getActiveSheet()->setCellValue( "C$topac5", "Order Adı Veri" );
$phpexcel->getActiveSheet()->setCellValue( "D$topac5", "Band No Veri" );
$style_header = array(
'font' => array(
'bold' => true,
'size' => "12",
),
'alignment' => array(
'horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_CENTER,
)
);
$phpexcel->getActiveSheet()->getStyle( "A1:D1" )->applyFromArray( $style_header );
$phpexcel->getActiveSheet()->getColumnDimension( 'A' )->setWidth( "13" );
$phpexcel->getActiveSheet()->getColumnDimension( 'B' )->setWidth( "7" );
$phpexcel->getActiveSheet()->getColumnDimension( 'C' )->setWidth( "12" );
$phpexcel->getActiveSheet()->getColumnDimension( 'D' )->setWidth( "10" );
$writer = PHPExcel_IOFactory::createWriter( $phpexcel, 'Excel2007' );
$writer->setIncludeCharts( TRUE );
$writer->save( 'php://output' );
return "Rapor Excele Aktarıldı";
}
}
?>
阿贾克斯页面
function PersonelVerimRaporExceleAktar()
{
Preloader_Baslat();
var raporCekmeYontem="Excel";
var personel_adi=$("#personel" ).val();
$.ajax({
type:"POST",
url:"./Pages/Personel_Islemler/Personel_Islemleri.php",
data:{baslangic_tarih:baslangic_tarih,bitis_tarih:bitis_tarih,personel_adi:personel_adi,raporCekmeYontem:raporCekmeYontem,paramPersonel_Verim_Raporu_Islem:"Personel_Verim_Raporu_Getir"},
})
.done(function(gelen_cevap){
Preloader_Bitir();
document.write(gelen_cevap);
})
.fail(function(jqXHR,textStatus){
alert("Bir hata oluştu:"+textStatus);
});
}
我正在编辑。Ajax 代码。但不是下载。我正在共享控制台日志 ss。
function PersonelVerimRaporExceleAktar()
{
//Preloader_Baslat();
var raporCekmeYontem="Excel";
var personel_adi=$("#personel" ).val();
$.ajax({
type:"POST",
url:"./Pages/Personel_Islemler/Personel_Islemleri.php",
data:{baslangic_tarih:baslangic_tarih,bitis_tarih:bitis_tarih,personel_adi:personel_adi,raporCekmeYontem:raporCekmeYontem,paramPersonel_Verim_Raporu_Islem:"Personel_Verim_Raporu_Getir"},
})
.done(function(gelen_cevap){
var a = document.createElement('a');
var url = window.URL.createObjectURL(gelen_cevap);
a.href = url;
a.download = 'myfile.xlsx';
document.body.append(a);
a.click();
a.remove();
window.URL.revokeObjectURL(url);
//Preloader_Bitir();
})
.fail(function(jqXHR,textStatus){
alert("Bir hata oluştu:"+textStatus);
});
}