簡體   English   中英

如果我需要使用php reader讀取數字為=“ 01”的excel文件,該怎么辦?

[英]What should I do if I need to read excel file with number like =“01” using php reader?

如果我需要使用php reader讀取數字為=“ 01”的Excel文件怎么辦?

他們不讀取像=“ variables”這樣的數據。

我應該使用其他的excel閱讀器嗎?

我知道如何使用“ mso-number-format”下載此類文件來處理該問題。

請幫幫我。

require_once '../../lib/reader.php';
$data = new Spreadsheet_Excel_Reader();

$data->setOutputEncoding('utf8');
$data->read('data/'.$_FILES["FILE1"]["name"]);
error_reporting(E_ALL ^ E_NOTICE);


for ($i = 2; $i <= $data->sheets[0]['numRows']; $i++) {


            for ($j = 1; $j <= $data->sheets[0]['numCols']+1; $j++) {
        $strValue = addslashes(trim(strip_tags($data->sheets[0]['cells'][$i][$j]))); // addslashes , trim, strip_tags

        if ($j ==1) $a = $strValue; // 
        if ($j ==2) $b = $strValue; // 
        if ($j ==3) $c = $strValue; // 
    }

echo $a.$b.$c

如果您正在從Excel工作表中讀取數字,則該數字很可能以簡單數字的形式保存而不是字符串。 可以使用sprintf()或str_pad()對其進行讀取並對其進行格式化。 或檢查單元格的數字格式掩碼並將其應用於您的號碼。

編輯

似乎有人在欺騙工作簿以使用公式,而不是將單元格值設置為字符串或應用格式掩碼(不是特別明智)。

看一下Spreadsheet_Excel_Reader的代碼(第1424-1429行),該代碼在其中處理讀取導致字符串值的公式,但實際上並沒有在單元格中設置字符串值(這就是為什么要獲取空單元格值的原因)。 ...這顯然是庫中的錯誤。 您可能需要解決此問題; 或切換到可以實際讀取給出字符串結果值的公式的Excel庫;或者 或修復原始電子表格,以便將“ 001”值設置為字符串或帶掩碼格式的數字而不是公式。

暫無
暫無

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

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