ruby csv合并细胞

时间:2011-05-16 08:20:05

标签: ruby csv fastercsv

假设我有很多对象,每个对象都有UID属性和一组信用卡号card_nos

我希望将信息转储到CVS (Excel)文件,以便将具有相同UID的单元格合并为一个单元格。一个UID跨越的行数与其拥有的信用卡数量相同,但至少有一个。

以下是一个示例,用户001有3张卡片,因此cvs文件将如下所示:

+-------------+
| UID | Card# |
--------------+
|     | Card1 |
      --------+
| 001 | Card2 |
      --------+
|     | Card3 |
--------------+

有什么想法吗?提前谢谢。

1 个答案:

答案 0 :(得分:4)

您无法创建执行此操作的CSV文件 - CSV格式不支持它。

以另一种方式尝试,您将看到:创建一个包含所描述格式的工作表并将其另存为CSV。您将收到以

开头的警告
"[whatever you called it/] may contain features that are not compatible with CSV (Comma delimited)...."

接受限制,您将获得一个CSV文件。我看起来像这样:

UID,Card#
001,Card1
,Card2
,Card3

...当我将它重新加载到Excel中时,确实失去了我预期的合并:

+------+-------+
| UID  | Card# |
+------+-------+
| 1    | Card1 |
+------+-------+
|      | Card2 |
+------+-------+
|      | Card3 |
+------+-------+

可以然后使用HTML,如果在你的应用程序中有其他意义 - 下面的HTML将加载所描述的合并UID单元格(注意使用“{{ 1}}“属性”:

rowspan