【问题标题】:Convert excel to csv and import data to php将excel转csv并导入数据到php
【发布时间】:2013-07-31 17:07:37
【问题描述】:

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

我的原始 excel 文件如下所示:

转换为 csv 后:

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

我用于读取 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。任何人都可以帮助我,好吗?谢谢。

【问题讨论】:

  • 为什么需要转换成 CSV?可以直接从excel取数据到PHP。Use this
  • 顶部的图像不是错误消息,而是警告。表示您的非数据项(例如格式、函数)不会保存到 csv 文件中。
  • 感谢您的回答,但在许多具有类似问题的主题中,人们提供转换为 csv,因为他们说从 excel 导入数据非常困难。也许他们错了。关于警告信息,谢谢你的修复,我明白了。
  • @Nisarg Patel 因为你给了我指向 PHPExcel 的链接,我尝试使用它,但不成功,我不知道我真的可以使用它。所有 3 个文件夹 Classes、Documentation 和 Examples 我需要放到我的 FTP 上吗?那么我需要如何让它从test.xls 导入数据我需要改变什么?谢谢。
  • 名为Classes的目录包含实际代码;名为Documentation 的目录是关于如何使用 PHPExcel 的文档,建议您阅读,但不是运行代码所必需的; Examples 目录对于运行代码也不是必需的,它包含显示如何使用 PHPExcel 的示例 - 我认为这三个目录的命名合理,因此它们的内容相当明显,显然不是

标签: php excel csv import converter


【解决方案1】:

根据您的要求,

@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 获取数据。

【讨论】:

  • 感谢您的回答。我创建了文件:test.php,它看起来像:&lt;?php require_once 'IOFactory.php'; $objReader = PHPExcel_IOFactory::createReader('Excel5'); $objPHPExcel = $objReader-&gt;load("test.xls"); ?&gt; 我将文件 test.php 和 test.xls 保存在同一个目录 ../Classes/PHPExcel/ 但它没有从 test.xls 导入数据,这意味着“PHPExcel 的标准函数” ?再次感谢您。
  • 您是否看过任何展示如何使用 PHPExcel 的示例文件?并且该软件包中有很多文档展示了如何从 Excel 文件中读取信息
  • 我误解了如何正确使用这些示例,我创建了 @Nisarg Patel 写的 php 文件,但它显示空白页。如何使用我不明白的标准函数。
  • 也许这可以帮助你们Check this
  • 这对我也不起作用,我做的一切都像教程中一样,也许我的 excel 文件不能有任何格式,颜色?据我了解,我需要在 php 中使用格式?
【解决方案2】:

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

【讨论】:

    【解决方案3】:

    所以我需要任何想法如何在不丢失格式的情况下将 xls 转换为 csv,或者如何将数据从 excel 文件导入 php。任何人都可以帮助我,好吗?谢谢。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-12-07
      • 2011-12-04
      • 1970-01-01
      • 2022-01-23
      • 1970-01-01
      • 2013-10-17
      • 1970-01-01
      相关资源
      最近更新 更多