2016-03-24 92 views
2

私はPHPで魔女のプロジェクトに取り組んでいます。私はExcelの添付ファイルでメールを送信しなければなりません。phpmailerを使用してください。 以下のコードで生成されるExcelファイルの形式に問題があります。PHP Excelファイルを ".xls"から ".xlsx"に変換

$table.='<table></table>'; 
    if (file_exists("EXCEL REPORT/".$subject." ".date("M-d-Y").".xls")) 
    { 
     unlink("EXCEL REPORT/".$subject." ".date("M-d-Y").".xls"); 
     file_put_contents("EXCEL REPORT/".$subject." ".date("M-d-Y").".xls", $table); 
     sendmailatt($to,$cc,$subject." ".date("M-d-Y"),"mail",<br>REGIA","EXCEL REPORT/".$subject." ".date("M-d-Y").".xls"); 
    } 
    else { 
     file_put_contents("EXCEL REPORT/".$subject." ".date("M-d-Y").".xls", $table); 
     sendmailatt($to,$cc,$subject." ".date("M-d-Y"),"Questo e' un invio automatico del venduto per agent.<br><br>Saluti,<br>REGIA","EXCEL REPORT/".$subject." ".date("M-d-Y").".xls"); 
    } 

私がメールを送信する前に、Excel 2007のに添付ファイルを変換したい... PHPExcelあり、この

+2

このコードは実際にはExcelファイルを生成しませんし、htmlマークアップのブロック( '$ table。= '

';)をファイルに書き込むだけです。 ExcelファイルをネイティブのExcel形式(BIFF、OfficeOpenXML、さらにはSpreadsheetML)にしたい場合は、.xls ....の拡張子を与えます。 [PHPExcel](https://github.com/PHPOffice/PHPExcel) –

+0

のようなネイティブファイルフォーマットを書くことができるPHP用のライブラリです。私はプライバシー問題のコンテンツを置き換えますが、コードはExcelファイルを生成します。 – SnakeFoot

+1

私は違います.... htmlのマークアップは、ネイティブのExcelファイル形式ではありません。あなたの宇宙のどこかでマジックを使用していない限り、file_put_contents()はhtmlマークアップをネイティブ形式のExcelファイルに変換しません....単にファイルに.xlsという拡張子を付けるだけで、ExcelファイルにしませんMS Excelがhtmlマークアップをインポートできるのは、Excel形式にしないからです。 –

答えて

0

を達成するための簡単な方法があります。 here

関連する問題