将excel转换为csv并将数据导入php

时间:2013-07-31 08:57:34

标签: php excel csv import converter

我需要将数据从excel导入到php,因为我听说它很难,所以我需要将excel文件转换为csv。但我有问题,我无法成功转换,当我尝试收到错误消息时: errorcsv

我原来的excel文件如下: original

转换为csv之后: afterconvert

有什么问题?我需要转换并保持相同的格式。

我的csv阅读php文件如下:

<?php
$row = 1;
if (($handle = fopen("test.csv", "r")) !== FALSE) {
    while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
        $num = count($data);
        echo "<p> $num fields in line $row: <br /></p>\n";
        $row++;
        for ($c=0; $c < $num; $c++) {
            echo $data[$c] . "<br />\n";
        }
    }
    fclose($handle);
}
?> 

结果在php中阅读之后的样子: example

所以我需要任何想法如何将xls转换为csv而不会丢失格式或如何将数据从excel文件导入到php。有人可以帮帮我吗?谢谢。

3 个答案:

答案 0 :(得分:1)

此PHPExcel库存在一些加载大文件的问题(内存/时间)。 如果你的文件不是那么大,phpExcel是一个很好的解决方案,否则你可能需要尝试直接加载.csv格式的数据。

答案 1 :(得分:0)

根据您的要求,

  

@Nisarg Patel你给我链接到PHPExcel我试过用这个,   但不成功,我不知道我是如何使用它的。全部3   文件夹我需要将文件,文档和示例放到我的FTP中?   那么我需要如何使它从test.xls导入数据我需要的东西   改变?谢谢。

您可以使用PHPExcel。

HERE

下载Library of PHPExcel

然后在您的文件中加入IOFactory.php文件。

/** PHPExcel_IOFactory */
require_once '../../../includes/PHPExcel/Classes/PHPExcel/IOFactory.php';

然后创建对象

$objReader = PHPExcel_IOFactory::createReader('Excel5');
$objPHPExcel = $objReader->load("mytest1.xls");

在此之后使用Standard functions of PHPExcel来获取数据。

答案 2 :(得分:0)

  

所以我需要任何想法如何将xls转换为csv而不会丢失格式或如何将数据从excel文件导入到php。有人可以帮帮我吗?谢谢。

CSV没有任何样式功能。 Excel,Google Docs,Libre等...将它们分成单元格,但文件本身就像它的名字一样 - 以逗号分隔(或可能由其他字符分隔)值列表。通常使用双引号表示字符串和表示行的换行符。我能想出完成你想要的东西的唯一方法是用HTML编码你的值。