2010-01-18 82 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