0

我正在使用 Excel::Writer::XLSX 从数组数组创建 Excel 文件。现在我正在尝试从数据中创建一个格式化的表格(尽可能多地,而不是仅仅将它吐回另一个文件)。

首先,当我使用 set_column() 设置背景颜色时,该颜色会针对整个列进行格式化。有没有办法指定只到文件中的内容去?不幸的是,当程序运行时,它每次都是动态的,并且不知道表中的最后一行应该是什么。

其次,有没有办法根据单元格内部的内容合并单元格?这又与动态问题有关,如果我收集的所有数据都在线,则有一个最佳输出。如果是这种情况,我可以轻松设置这些合并单元格的范围。但是例如,如果我有 10 行第 2 列说“A”,然后有 10 行第 2 列说“B”,我想将 A 和 B 合并在一起。问题是它是否总是有 10 行包含该值是未知的。

感谢您的输入!

4

1 回答 1

1

首先,当我使用 set_column() 设置背景颜色时,该颜色会针对整个列进行格式化。有没有办法指定只到文件中的内容去?

不可以。您必须在编写单元格时将格式添加到单元格中。

但是,例如,如果我有 10 行第 2 列表示“A”,然后有 10 行第 2 列表示“B”,我想将 A 和 B 合并在一起。

Excel::Writer::XLSX 无法做到这一点。(事实上​​,我认为在 Excel 中不使用宏是不可能的)。

由于您的两个问题都与事先不知道数据的大小和值有关,那么也许您可以先将数据读入数组数组,对其进行处理以找到所需的格式维度和合并范围,然后将它们写出来。

于 2013-11-17T19:54:03.970 回答