2013-06-10 37 views
7

Hi all Tôi có một trang web và tôi muốn tạo một tập tin excel và lưu vào thư mục của tôi vào máy chủ của tôi. Tôi đã thử ở chế độ này nhưng mỗi lần yêu cầu tôi tải xuống. Tôi không muốn yêu cầu tải xuống vì sau khi tôi phải tạo nhiều xls là báo cáo và không cần tải xuống nhưng chỉ để lưu vào thư mục. Đây là mã của tôi:PHPExcel lưu tập tin

require_once 'inc/PHPExcel.php'; 

// Create new PHPExcel object 
$objPHPExcel = new PHPExcel(); 

// Set document properties 
$objPHPExcel->getProperties()->setCreator("Alessandro Minoccheri") 
          ->setLastModifiedBy("Alessandro Minoccheri") 
          ->setTitle("Office 2007 XLSX Test Document") 
          ->setSubject("Office 2007 XLSX Test Document") 
          ->setDescription("Generazione report inverter") 
          ->setKeywords("office 2007 openxml php") 
          ->setCategory(""); 


// Add some data 
$objPHPExcel->setActiveSheetIndex(0) 
      ->setCellValue('A1', 'Hello') 
      ->setCellValue('B2', 'world!') 
      ->setCellValue('C1', 'Hello') 
      ->setCellValue('D2', 'world!'); 

// Miscellaneous glyphs, UTF-8 
$objPHPExcel->setActiveSheetIndex(0) 
      ->setCellValue('A4', 'Miscellaneous glyphs') 
      ->setCellValue('A5', 'éàèùâêîôûëïüÿäöüç'); 

// Rename worksheet 
$objPHPExcel->getActiveSheet()->setTitle('Simple'); 


// Set active sheet index to the first sheet, so Excel opens this as the first sheet 
$objPHPExcel->setActiveSheetIndex(0); 


// Redirect output to a client’s web browser (Excel5) 
header('Content-Type: application/vnd.ms-excel'); 
header('Content-Disposition: attachment;filename="01simple.xls"'); 
header('Cache-Control: max-age=0'); 

$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); 
$objWriter->save('php://output'); 
exit; 

Tôi cũng đã cố gắng:

$objWriter->save('namee.xls'); 

Nhưng một lần nữa yêu cầu tôi tải.

Tôi làm cách nào để giải quyết vấn đề này?

+3

xóa 3 dòng tiêu đề –

Trả lời

10

Đó là bởi vì các tiêu đề sau:

// Redirect output to a client’s web browser (Excel5) 
header('Content-Type: application/vnd.ms-excel'); 
header('Content-Disposition: attachment;filename="01simple.xls"'); 
header('Cache-Control: max-age=0'); 

Đó là bởi vì các trình duyệt sẽ mở save as ... hộp nếu họ nhìn thấy Content-Disposition tiêu đề. Loại bỏ những dòng đó.

Tuy nhiên, excel cũng phải được lưu trên đĩa. Bạn không thấy nó? nếu không, hãy đảm bảo rằng PHP có quyền thích hợp để ghi vào thư mục đó

+0

gosh, ước gì tôi đã nghĩ trước đó;) –

+0

@Dagon Ups, tôi thấy bình luận của bạn :) – hek2mgl

+0

Cảm ơn tác phẩm này ! 1 cho câu trả lời nhanh chóng .. càng sớm càng tốt, tôi chấp nhận câu trả lời –

Các vấn đề liên quan