问题标签 [phpexcelreader]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
1049 浏览

php - PHP EXCEL 多个文件和工作表

在你回答之前。请记住它的 xls 而不是 csv。Plus 数据是多张表和多列。

我在一个文件夹中有 50 个 Excel 文件。数据位于不同的列中。

  • Info1 - 标签 a1 数据 b1 sheet1
  • Info2 - 标签 a2 数据 b2 sheet1
  • Info3 - 标签 a1 数据 b1 sheet2
  • Info4 - 标签 a2 数据 b2 表 2

我需要将所有文件中的所有文件导入到一个电子表格中,将数据按行放在彼此下方,以便将 import.csv 导入 MySQL。

所以它必须是新行中每个文件的所有记录,标签作为标题。

500个excel文件在一个文件夹中。每个都有 2 张数据表,其中的数据不是像普通 csv 那样在行中,而是在列中,其中 a 是标签,b 是数据。因此 phpmyadmin 无法工作,因为它首先需要将数据从列更改为行。将列 a 数据交叉到第 1 行作为标题,将卷 b 作为第 2 行中的数据。然后将第二个 Excel 电子表格添加到第 2 行,依此类推。另外,需要合并两张表。

0 投票
2 回答
1045 浏览

php - 从 Excel 表中获取值作为 PHP 中的日期

我使用 PhpExcelReader——
包括 'excel_reader.php';// 包含类

数据读取和函数调用——

功能码--

它只显示像 36400 这样的数字
然后我尝试了

但它显示默认值,如 1970-01-01
但我的数据 2004-05-12

0 投票
3 回答
1291 浏览

internal-server-error - PHP读取大excel文件错误

我正在尝试使用 PHPExcel 库创建一个用于加载和读取大型 excel 文件(超过 60,000 行)的应用程序。我正在获取内部服务器。它最多可以工作 600 行。但它不适用于大文件。请帮忙。

或任何其他可用于加载大文件的 php 库。

设置时间限制(36000);

谢谢

0 投票
1 回答
377 浏览

php - 使用 PHPExcelReader 解析 Excel 文件的问题

我在使用 PHPExcelReader(实际上是 Spreadsheet_Excel_Reader 类)解析 excel 文件(.xls)时遇到了一个特殊问题。我在不同的应用程序中使用了很多次,每次都很好。我正在为一个应用程序工作,其中有一个 ftp 文件夹,并且每天都会远程放置一个 excel 文件。我有一个每天运行的调度程序任务并读取 excel 文件并更新数据库。

几个月来它工作得很好。现在他们在文件中添加了一些新列,Spreadsheet_Excel_Reader 无法读取数字和日期值。但是,如果我只是打开文件并按 CTRL+S 而不做任何事情,svn 会说文件已被修改,尽管我没有看到与 'SVN: Diff with previous version' 的任何变化。然而,当我看到保存的文件被正确解析时,它正在发挥作用。Bellow 是我在不接触文件的情况下尝试运行脚本时看到的结果。请查看索引 5 到 9。 使用未修改的 excel 文件解析结果

现在看看我在打开文件并按下 CTRL+S 后运行脚本时的解析结果。现在完全确定发生了什么。我联系了他们,他们说他们没有做任何新的事情。 按下 CTRL+S 后解析结果是正确的

关于这个问题的任何想法?非常感谢在这里分享这个想法。

0 投票
3 回答
12865 浏览

php - PHPExcel检测单元格值是否格式化为日期

大家好,当我上传日期值时,我对如何检测单元格值是否格式化为日期有疑问,我使用此代码

当单元格值被格式化为日期$data = 27474时,值不是,$data = 12/2/1983 那么我使用此代码来格式化它们的日期

现在,问题是什么时候$data在日期格式化这个代码是好的,但是当$data没有格式化时,这个值$data = 2036-02-18是错误的值

任何人都可以帮助我如何解决这个问题在此先感谢

0 投票
1 回答
686 浏览

php - 从 php 中的 excel 导入日期返回错误的日期

在我的 Excel 表中,日期是“2014 年 12 月 15 日”。

在我将其上传到表单后,日期以输出形式返回“16/12/2014”。

我怎样才能得到出现在 excel 表上的实际结果。

0 投票
2 回答
1188 浏览

php - PHPExcel 不工作 php 5.2 AppServ

我在 Windows 机器上的 AppServ 中使用 php 5.2.6,PHPExcel 似乎无法正常工作并且不会产生错误。我将 error_reporting 设置为 E_ALL。

在我使用 php 5.6 并使用 vagrant/homestead 的 Linux 机器上,相同的代码可以正常工作。

这是我的代码: http: //pastebin.com/6dJC8gaP

我添加了一些回声以查看它到底死在哪里,它似乎在第 9 行死了。我以为这可能是 php 5.2 和 :: 引用的问题,所以我尝试使用 call_user_func,它也适用于我的 php 5.6但不适用于我的 php 5.2

0 投票
1 回答
843 浏览

php - 使用 PHPExcel 读取包含命名范围的公式结果

我正在做一个项目,我需要导出电子表格,手动填充它,然后再次将其导入回系统。我正在使用PHPExcel来完成所有艰苦的工作。

电子表格基本上是一组需要回答的问题。(您可以在此处下载电子表格的示例)。每个问题的答案都在一个数据验证列表中,该列表来自另一个使用命名范围的工作表(答案)。问题和答案都带有唯一的 ID,以便我可以轻松地将结果读回数据库。

questionID 存储在 B 列中,并在我创建电子表格时插入。但是 answerID 是通过查找(在 C 列中)完成的,因为 answerID 会根据选择的答案而改变。每组答案都有两个命名范围 1 用于列表中的答案和一个用于查找。这些命名范围标记为 answers_questionID 和 answers_lookup_questionID。C 列中用于获取查找值的公式是:

=INDEX(answers_lookup_1, MATCH(E6, answers_1, 0),2)

我使用 INDEX 和 MATCH 而不是 VLOOKUP 因为我不想按字母顺序对数据进行排序。

这一切在电子表格中都可以正常工作,当我尝试将其读回时,我遇到了问题。当我尝试重新读取这些值时,我要么得到0(它们都应该是正整数) ,要么得到#REF!

这是我读回数据时正在做的事情:

所以我得到了一个很好的大数组,里面有我的所有数据,只有 C 列是错误的。

  • 我的公式似乎没有任何问题,因为它适用于 excel。
  • 我尝试过更简单的公式版本,它们可以工作,即将多个单元格相加。
  • 两张纸在阅读时都在场。
  • 所有命名范围在阅读时都设置得很好。
  • 我正在使用 v 1.7.4,但我已经尝试了 1.7.9 之前的所有版本(1.8.0 甚至没有在电子表格中读取)。

Mark Ba​​ker 让我运行一个公式测试,可以在这里找到它,如果有人能理解它,它会给出以下调试。

我尝试了多种公式和读取数据的方法。我循环了数据并使用 getCalculatedValue() 而不是 toArray() 并且仍然得到相同的结果。

我只能认为这可能是Functions.php中的INDEX函数中的一个错误,并且在使用命名范围读取时公式没有被正确解释。如果我将传递的数组打印到 INDEX() 结果是:

哪些是正确的值(尽管我不确定是否应该像我的电子表格中那样填充 A 列),即是、否和 N/A...

如果您已经走到了这一步,谢谢,希望您能帮助我或为我指明正确的方向。

非常感激,

亚当。

0 投票
3 回答
15649 浏览

php - PHPExcel toArray 跳过第一行

我正在将一个 excel 文件上传到网站并对其进行处理以供数据库使用。

我正在使用toArray()函数来获取 php 数组中的所有行。

但我想跳过第一行(标题行)。其余行将存储在数组中。

我怎样才能跳过第一行。

注意:我不能使用rangeToArray()函数,因为没有固定的范围来将行放入数组。它是动态的。我想要的只是获取除第一行之外的所有行。

0 投票
2 回答
1452 浏览

php - 如何在 PHPExcel 中应用样式

我正在使用 PHPExcel,我想为某些单元格提供相同的样式。我试过下面的代码,但它只将样式应用于 A1。