2016-03-24 64 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"); 
    } 

我想發送郵件之前附着到2007年的Excel轉換... 是有實現這一

+2

此代碼實際上並不產生一個Excel文件,它只是寫入HTML標記的塊('$表=「

」;')到一個文件,給它一個.xls ....的擴展名,它不是一個Excel文件....如果你想要一個任何本地Excel格式的Excel文件(BIFF,OfficeOpenXML,甚至是SpreadsheetML),那麼看看一些可以編寫本機文件格式的PHP庫,例如[PHPExcel](https://github.com/PHPOffice/PHPExcel) –

+0

我替換隱私問題的內容....但代碼生成一個excel文件。 – SnakeFoot

+1

我不同意.... html標記不是本機Excel文件格式;除非你在宇宙中的某處使用魔法,否則file_put_contents()不會將html標記轉換爲本機格式的Excel文件....僅僅因爲您給文件擴展名爲.xls,不會將其作爲Excel文件,並且僅僅因爲MS Excel可以導入html標記,並不會使其成爲Excel格式 –

回答

0

PHPExcel沒有簡單的方法。你可以找到讀取和寫入文件的文件here