PHP COM excel 另存成 unicode 文字檔

1 篇文章 / 0 new
author
PHP COM excel 另存成 unicode 文字檔
若用 php com 開啟時, 若欄位內文字有多種編碼, 目前尚不知如何才能正確轉換來顯示, 此時可利用轉成統一的 unicode 編碼後, 再來處理資料, 就可以克服多種編碼問題. 下程式碼是將excel存成 unicode 格式, 並以 tab 作欄位分隔
public function saveAsUnicode($tar) {
    try {
        $strTemp = "";
        $excel = new COM("Excel.Application");
        $excel->Application->DisplayAlerts = False; //關閉提示訊息
        $Workbook = $excel->Workbooks->Open($tar);
        $Worksheet = $Workbook->Worksheets(1);
        /* 儲存格式
          xlWorkbookNormal -4143, xlHtml 44, xlWebArchive 45, xlXMLSpreadsheet 46, xlCSV 6
          xlCurrentPlatformText -4158, xlUnicodeText 42, xlTextPrinter 36
         */
        $strTemp = "$tar.txt";
        $Worksheet->SaveAs($strTemp, 42); //另存新檔,42表unicode格式, 以 tab 分隔欄位
    } catch (exception $e) { $strTemp = ""; }
    try {
        $excel->Quit();
    } catch (exception $e) { }
 
    return $strTemp;
}
Free Web Hosting