2011-05-16 141 views
0

假设我有很多对象,每个对象都有一个UID属性和一组信用卡NOs card_nosruby​​ csv合并单元格

我想以一种方式将信息转储到CVS (Excel) 文件,其方式是将具有相同UID的单元格合并为一个单元格。其中一个UID的行数与信用卡数量相同,但至少有一个。

下面是一个例子,用户001有3张卡,所以CVS文件看起来像下面这样:

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

任何想法?提前致谢。

+0

“CVS(Excel)”? (或CSV?);免得 - >至少 – sawa 2011-05-16 08:33:03

+0

@sawa:CVS文件就够了。抱歉错字错误。 – user435657 2011-05-16 08:43:00

回答

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小区负载所描述的(请注意使用了“rowspan”属性):

<table> 
    <thead> 
    <tr> 
     <td>UID</td> 
     <td>Card#</td> 
    </tr> 
    </thead> 
    <tbody> 
     <tr> 
     <td rowspan="3">001</td> 
     <td>Card1</td> 
     </tr> 
     <tr> 
     <td>Card2</td> 
     </tr> 
     <tr> 
     <td>Card3</td> 
     </tr> 
    </tbody> 
</table>