问题标签 [phpexcel]
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.
php - 如何找出使用 PHPExcel 从 Excel 文件中读取的行数和列数?
使用以下代码,我可以使用 PHPExcel 从 Excel 文件中读取单元格。
我目前手动定义要读取的行数和列数。
PHPExcel 有没有办法告诉我必须读取多少行和列才能从工作表中获取所有数据,例如,即使某些行和列留空?
解决方案:
谢谢,马克,这是具有这些功能的完整解决方案:
php - 如何将工作表的列数作为整数(28)而不是 Excel 字母(“AB”)?
鉴于:
我可以像这样遍历行,但速度很慢,即在一个 3MB Excel 文件中,工作表具有“EL”列,每行大约需要1 秒:
当我这样迭代时,它的速度明显更快(大约 2000 行在 30 秒内),但我必须将字母(例如“EL”)转换为数字:
有没有办法将最高列作为整数(例如“28”)而不是 Excel 样式的字母(例如“AB”)?
php - 如何使用 PHPExcel 自动读取计算值?
我有以下Excel文件:
我通过遍历每个单元格并通过以下方式获取值来读取它getCell(...)->getValue()
:
但是,尽管它可以很好地读取数据,但它会按字面意思读取计算:
我从这样的讨论中了解到,我可以将getCalculatedValue()
其用于计算单元格。
问题是在我导入的 Excel 工作表中,我事先不知道计算了哪些单元格,哪些没有计算。
有没有办法让我读入一个单元格的值,如果它有一个简单的值,它会自动获取值,如果它是一个计算,它会得到计算的结果?
回答:
事实证明,这getCalculatedValue()
适用于所有单元格,这让我想知道为什么这不是默认值,getValue()
因为我认为人们通常会想要计算的值而不是方程本身,无论如何这都有效:
kohana - Kohana 3 + PhpExcel 的 xls 导出问题
我已经将 PHPExcel 库与 Kohana 3 集成在一起,并且在输出 xls 文件时遇到了一些问题。当我尝试在服务器上创建 xls 文件(保存在服务器文件系统上)时,一切都很好,但是当我尝试使用 header() 输出它时,文件已损坏并在 Excel 中显示一些奇怪的字符。
我在控制器/action_index 中的代码:
谢谢你的帮助,对不起我的英语。
PS:当我尝试以同样的方式输出 pdf 时,一切看起来都很好,问题只是 xls 和 xlsx ......
php - 如何使用 PHPExcel 从大型 Excel 文件 (27MB+) 中读取大型工作表?
我有大型 Excel 工作表,我希望能够使用 PHPExcel 将其读入 MySQL。
我正在使用最近的补丁,它允许您在不打开整个文件的情况下阅读工作表。这样我可以一次阅读一个工作表。
但是,一个 Excel 文件有 27MB 大。我可以成功读取第一个工作表,因为它很小,但是第二个工作表太大,以至于在 22:00 开始进程的 cron 作业在上午 8:00 没有完成,工作表太简单了。
有什么方法可以逐行读取工作表,例如:
附录
@mark,我使用您发布的代码来创建以下示例:
如以下日志文件所示,它在一个小的8K Excel 文件上运行良好,但是当我在一个3 MB Excel 文件上运行它时,它永远不会超过第一个块,有什么办法可以优化此代码的性能,否则看起来它的性能不足以从大型 Excel 文件中获取块:
附录 2
当我注释掉:
然后它以可接受的速度解析(大约每秒 2 行),有没有办法提高性能toArray()
?
附录 3
这似乎工作得很好,例如,至少在3 MB文件上:
php - PHPExcel 的问题
我有一个简单的表:
我正在使用 PHPExcel 以 XLS 格式导出该表。我写了一个简单的 PHP 行:
我得到一个空页面。
php - PHPExcel 阅读器 -- 需要帮助
我正在使用PHPExcel从 Excel 表中读取数据并存储在 mysql 表中,直到现在我能够上传 .xls 以及 .xlsx 文件,并且在上传 xls 后,我得到了下面的数据表结构
现在我有一些问题,请建议我优化方法
- 我们如何获得工作表名称(一个 excel 中的 bcoz 有 7 个工作表)
现在我如何将这些数据存储到数据库中,下面是代码片段
/li>
这会返回
我需要它
- 每个 excel 表的标题(即第一行)成为数组的键($arr_data)和
- rest 成为数组的值。
- 时间更改为某个整数值,应该与 excel 表中的相同
- 应截断所有行中数组的空白字段( ieblank 标题列)(此处 [4] )
- 如果 Excel 工作表的第一个字段(或某些字段的组合条件)未满足,则不应将该行添加到数组中
即所需的数组应该看起来像
然后我使用所需数组上的mysql操作将数据存储到我的数据库中。
- 是否有任何其他简短的方法可以将上述数据存储在数据库中
注意:请不要参考手册(这真的很糟糕)......告诉我方法名称......
更新
@Mark感谢您的解决方案,它对我有很大帮助,但仍然存在一些问题
- 如何处理excel sheet..bcoz中的空/空白单元格当任何单元格为空时,它会显示一条通知
注意:未定义的索引:C 中的 C:\xampp\htdocs\xls_reader\Tests\excel2007.php 第 60 行
注意:未定义的索引:D 在 C:\xampp\htdocs\xls_reader\Tests\excel2007.php 中的第 60 行
而第 60 行是
- 如何在检索完整数据数组之前设置条件,即如果我想要如果第一列和第二列在任何行中为空/空白,则不应将该行添加到我们所需的数组中
谢谢
php - PHPExcel 用完了 256、512 和 1024MB 的 RAM
我不明白。XSLX 表大约有 3MB 大,但即使 1024MB 的 RAM 也不足以让 PHPExcel 将其加载到内存中?
我可能在这里做一些可怕的错误:
上面的函数将数据从 excel 表中读取到数组中。
有什么建议么?
起初,我允许 PHP 使用 256MB 的 RAM。这还不够。然后我将数量翻了一番,然后也尝试了 1024MB。它仍然出现此错误的内存不足:
php - 使用 PHPExcel 在值之前设置字段名称
编辑:
我想在值之前设置字段名称?
我有很多领域
代码:
还有其他选择吗?