2010-01-18 65 views
0

我一直在試圖導入這個excel文件我的mysql數據庫,並且它已經很粗糙。 有在.xls文件約7000行,但是當我將其導出爲.csv,並用PHP解析它,我得到的兩個問題之一:將.xls導出爲.csv問題

  • Excel不逃避任何東西,即。每行中的逗號分割數據
  • 當我將所有逗號更改爲*,然後由於某種原因導出時,excel將一大堆線條改爲一堆磅符號#####。

(有它這樣做的理由?)

我可以上傳的地方爲.xls如果需要的話。

+0

這是什麼版本的Excel? Excel 2007可以很好地處理逗號,因爲它應該將該字段用引號括起來。 – ceejayoz 2010-01-18 21:46:46

+0

對不起,Excel Mac OS X 2008. – Tom 2010-01-18 21:54:23

回答

0

想通了!

原來這是Excel的錯。我在Excel中打開它之前檢查了.xls,而不是###。 但保存在Excel中後,他們出現了。

因此,我在Numbers(iWork的一部分)中將其打開,將所有內容全部更改爲*,並將所有引號都改爲%(這些行從未出現在任何行中,導出爲.csv,然後在使用PHP導入時將其更改回。

工作很好。:-)

0

作爲一個建議,如果你正在處理與包含逗號這是普遍的細胞,一個簡單的解決辦法是從Excel導出製表符分隔格式(TXT),或還沒有單獨包含任何格式你通常不會遇到的角色。

我發現它是一個非常簡單的方法來處理許多與從Excel導出和導入到數據庫介質相關的麻煩。

+0

CSV沒有什麼問題,PHP(也是MySQL)用內置函數解析CSV。 – ceejayoz 2010-01-18 21:47:47

+0

我從來沒有說過CSV有任何問題 - 您是否看到我說過的CSV出現錯誤? – 2010-01-18 21:51:05

+0

我意識到這些選項,但csv只是讓事情變得更簡單(而且php內置了所有的東西)。 – Tom 2010-01-18 21:52:20