我正在使用PHPExcel庫做一些工作。我今天遇到了第一個問題。從Excel中讀取/寫入的工作很好,但之後我將開始從Excel工作表中取出東西,然後進入Mongo。我基本上從Excel中讀取數組,然後嘗試將該數組保存到Mongo中$collection->insert($array);
從PHPExcel獲取文本而不是RTF /對象閱讀
我得到一個異常,告訴我它不能插入帶有零字符鍵的任何東西。我在我的陣列上做了一個var_dum()
,看看它在哪裏得到一個空白鍵,這是轉儲產生的。
array(10)
{
["um"]=> string(2) "EA"
["desc"]=> string(37) "FRAME WELDMENT, NITRATE REMOVAL TANKS"
["vws_num"]=> NULL
["part_num"]=> string(10) "SD-0408-01"
["manufac"]=> object(PHPExcel_RichText)#665 (1)
{
["_richTextElements" : "PHPExcel_RichText" : private]=> array(3)
{
[0]=> object(PHPExcel_RichText_TextElement)#184 (1)
{
["_text":"PHPExcel_RichText_TextElement":private]=> string(23) "VEOLIA WATER SOLUTIONS "
}
[1]=> object(PHPExcel_RichText_Run)#179 (2)
{
["_font":"PHPExcel_RichText_Run":private]=> object(PHPExcel_Style_Font)#183 (12)
{
["_name":"PHPExcel_Style_Font":private]=> string(5) "SWGDT"
["_size":"PHPExcel_Style_Font":private]=> string(2) "10"
["_bold":"PHPExcel_Style_Font":private]=> bool(false)
["_italic":"PHPExcel_Style_Font":private]=> bool(false)
["_superScript":"PHPExcel_Style_Font":private]=> bool(false)
["_subScript":"PHPExcel_Style_Font":private]=> bool(false)
["_underline":"PHPExcel_Style_Font":private]=> string(4) "none"
["_strikethrough":"PHPExcel_Style_Font":private]=> bool(false)
["_color":"PHPExcel_Style_Font":private]=> object(PHPExcel_Style_Color)#186 (4)
{
["_argb":"PHPExcel_Style_Color":private]=> string(8) "FF000000"
["_isSupervisor":"PHPExcel_Style_Color":private]=> bool(false)
["_parent":"PHPExcel_Style_Color":private]=> NULL
["_parentPropertyName":"PHPExcel_Style_Color":private]=> NULL
}
["_parentPropertyName":"PHPExcel_Style_Font":private]=> NULL
["_isSupervisor":"PHPExcel_Style_Font":private]=> bool(false)
["_parent":"PHPExcel_Style_Font":private]=> NULL
}
["_text":"PHPExcel_RichText_TextElement":private]=> string(1) " "
}
[2]=> object(PHPExcel_RichText_Run)#182 (2)
{
["_font":"PHPExcel_RichText_Run":private]=> object(PHPExcel_Style_Font)#189 (12)
{
["_name":"PHPExcel_Style_Font":private]=> string(14) "Century Gothic"
["_size":"PHPExcel_Style_Font":private]=> string(2) "10"
["_bold":"PHPExcel_Style_Font":private]=> bool(false)
["_italic":"PHPExcel_Style_Font":private]=> bool(false)
["_superScript":"PHPExcel_Style_Font":private]=> bool(false)
["_subScript":"PHPExcel_Style_Font":private]=> bool(false)
["_underline":"PHPExcel_Style_Font":private]=> string(4) "none"
["_strikethrough":"PHPExcel_Style_Font":private]=> bool(false)
["_color":"PHPExcel_Style_Font":private]=> object(PHPExcel_Style_Color)#188 (4)
{
["_argb":"PHPExcel_Style_Color":private]=> string(8) "FF000000"
["_isSupervisor":"PHPExcel_Style_Color":private]=> bool(false)
["_parent":"PHPExcel_Style_Color":private]=> NULL
["_parentPropertyName":"PHPExcel_Style_Color":private]=> NULL
}
["_parentPropertyName":"PHPExcel_Style_Font":private]=> NULL
["_isSupervisor":"PHPExcel_Style_Font":private]=> bool(false)
["_parent":"PHPExcel_Style_Font":private]=> NULL
}
["_text":"PHPExcel_RichText_TextElement":private]=> string(14) "& TECHNOLOGIES"
}
}
}
["vendor"]=> NULL
["unit_price"]=> NULL
["list_price"]=> NULL
["multiplier"]=> NULL
["times_req"]=> float(1)
}
爲什麼我"manufac"
鍵拿着一個瘋狂的瘋狂尋找PHPExcel對象?我檢索每個單元格的內容
$array[$rowIndex][$col] = $cell->getCalculatedValue();
我知道Excel工作表的特定的細胞中有一個新的行字符,會是這樣嗎?或者這是否告訴我在該單元格上放置了一些奇怪的格式?
我只是從這個小區想要的文本值,就像所有其他的人給了我......
在此先感謝您的幫助!
我相信這個曾經工作提取細胞的純文本內容,但有在1.7.8中的錯誤 我在這裏提交了一個錯誤報告 - http://phpexcel.codeplex.com/workitem/19540 – nathansizemore 2013-03-28 16:13:05
如果getCell() - > getValue()曾經返回純文本而不是富文本對象,那麼這是一個錯誤,這意味着無法在orde中獲得現有的富文本r修改它而不是簡單地將其轉換爲純文本。返回富文本對象是正確的行爲。但是,getCalculatedValue應返回明文 – 2013-03-28 16:19:53
修改getCalculatedValue()方法以返回richtext對象的文本內容而不是對象 - 推送到版本1.7.9的github存儲庫準備就緒 – 2013-03-29 11:11:12