PHPExcel 排序 sheet 并创建一个新的 sheet

PHPExcel Sorting a sheet and create a new sheet

这是我的情况。 我有一个 excel sheet,其中包含 20000 条不同地址的记录。 数据是这样映射的

+----+---------+-------+-------+-----+
| Sr | Addr 1  |Addr 2 | State | zip |
+----+---------+-------+-------+-----+

这是示例数据映射。 现在我想要的是创建根据特定列排序的子列表或 sheets Sheet 1 包含基于 State 列排序的列表。

和sheet 2 根据邮政编码排序。

如何使用 PHPExcel 库实现此目的?

取决于您有多少内存 - 我会使用 Worksheet 的 toArray() 方法将单元格从主 sheet 复制到 PHP数组,然后您可以使用 usort() 对该数组进行任意排序,然后创建一个新工作 sheet 并使用 fromArray() 用排序后的数据填充它 - 但是对于 20,000 行,您需要足够的内存来将该数据作为数组保存在内存中。