簡體   English   中英

PHP Excel Reader:獲取刪除/刪除線值

[英]PHP Excel Reader : get strikeout / strikethrough value

我正在尋找一種方法來解析Excel工作表中單元格的刪除線/刪除線值,如果可能的話,使用PHP腳本。 刪除或不包含簡單文本值的單元格(無公式或任何內容)。

我嘗試使用http://code.google.com/p/php-excel-reader/和其他一些腳本。 但是我還沒有找到任何可解析此特定值(刪除線)的PHP腳本,並且我嘗試將此解析功能添加到php-excel-reader中也沒有成功。

我嘗試添加以下內容:

function lineTrought($row,$col,$sheet=0) {
    return $this->fontProperty($row,$col,$sheet,'strikethrough');
}

並且還將一些代碼添加到解析代碼的這一部分(由**表示):

            case SPREADSHEET_EXCEL_READER_TYPE_FONT:
                    $height = v($data,$pos+4);
                    $option = v($data,$pos+6);
                    $color = v($data,$pos+8);
                    $weight = v($data,$pos+10);
                    $under  = ord($data[$pos+14]);
                    **$strikethrough  = v($data,$pos+16);**
                    $font = "";
                    // Font name
                    $numchars = ord($data[$pos+18]);
                    if ((ord($data[$pos+19]) & 1) == 0){
                        $font = substr($data, $pos+20, $numchars);
                    } else {
                        $font = substr($data, $pos+20, $numchars*2);
                        $font =  $this->_encodeUTF16($font); 
                    }
                    $this->fontRecords[] = array(
                            'height' => $height / 20,
                            'italic' => !!($option & 2),
                            'color' => $color,
                            'under' => !($under==0),
                            'bold' => ($weight==700),
                            **'strikethrough'=>$strikethrough,**
                            'font' => $font,
                            'raw' => $this->dumpHexData($data, $pos+3, $length)
                            );
                    break;

但是我找不到正確的數據來表明刪除線的價值。 v($ data,$ pos + 16)不正確,我嘗試了很多其他東西,但都沒有成功。

如果用PHP庫無法實現,那么關於如何使用Python或Perl腳本解析XLS然后將數據切換到PHP的任何想法?

看起來CPAN Perl腳本中的Spreadsheet :: ParseExcel-0.55可能可以工作,但是我的主要應用程序是PHP,所以我需要將結果寫入文件並用PHP或類似的方法將其解析回去。

還要簽出: http : //www.codeplex.com/PHPExcel

它說它可以讀取Excel文件。 我主要將其用於寫作,所以我不知道在多大程度上支持閱讀。

使用PHPExcel( http://phpexcel.net ,官方URL),您可以從單元格中讀取樣式值。 對於刪除線,它是這樣的。

$cell->getStyle()->getFont()->getStrikethrough().

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM