0

我知道这将是非常具体的,如果任何有此主题经验的人看到这一点,我会很幸运,但我已经没有耐心尝试寻找答案,所以我想我可能会看看是否有人社区知道。

我正在尝试构建一个 PeopleCode 生成的报告,该报告从临时表中读取数据并将其写入 Excel 电子表格。为此,我使用了一个名为“PSSpreadsheet”的 Oracle 库。除了PeopleBooks 文档之外,几乎没有关于在线图书馆的信息。我的问题在于这两个函数:SetCellHeaderStyle() 和 SetColumnWidth()。

首先,SetCellHeaderStyle() 采用以下参数:

  • 行号/列号
  • 红色值
  • 蓝值
  • 绿色价值
  • 大胆的
  • 颜色
  • 字体高度
  • 字体名称

我只有红色/蓝色/绿色值有问题。无论我设置为参数的数字组合(0 到 256),我应用该函数的单元格都是灰色的并且有双线边框。这意味着如果我想使用此功能并更改它提供的任何格式,我必须处理这种奇怪的颜色/边框样式。

下一个函数 SetColumnWidth() 只接受两个参数:

  • 柱状图
  • 宽度

很简单,你不同意吗?当我运行我的代码时(&SS 是我的电子表格对象):

&SS.SetColumnWidth(1, 25);
&SS.SetColumnWidth(2, 25);
&SS.SetColumnWidth(3, 1);
&SS.SetColumnWidth(15, 1);
&SS.SetColumnWidth(27, 1);

这意味着将 A 列和 B 列设置为宽度 25;和列 C、O 和 AA 到宽度 1,它只是折叠列。当我创建报告时,它们的宽度都为 0。

谁能帮助了解如何将这些格式化函数应用于我的代码?我对这些东西有点不知所措,我不确定图书馆是否很糟糕,或者我只是不理解它。

提前致谢。

4

2 回答 2

0

对于设置单元格标题样式,我看到了相同的内容。

这似乎是基于 OPENXML。您可以将 xlsx 文件另存为 .zip 文件,然后查看电子表格中放置的内容。[xl/styles.xml等 红绿蓝值似乎没有设置任何东西? fontheight并且fontname似乎确实有效

设置列宽显然是基于 0 的,所以列 A 为 0,B 为 1,

于 2019-03-11T14:20:10.880 回答
0

有关颜色编号,请参阅此链接

SetCellHeaderStyle 中的颜色参数,用于设置字体的颜色。这是一个索引颜色值,相当于 Apache POI 库 XSSFColor 索引。要设置红色,我们需要传递等效于 IndexedColors.RED.getIndex() 的值。

我使用JavaObject如下

Local JavaObject &xlColor = GetJavaClass("org.apache.poi.ss.usermodel.IndexedColors");
 &ssObject.SetCellHeaderStyle(&iXLrow, 1, 255, 255, 0, 20, &xlColor.RED.getIndex(), 12, "Calibri");

请参阅此其他链接以获取不同的颜色。

它也看起来像boldWeight什么都不做。如果我打开电子表格并设置为,
也不是唯一对我有用的。SetCellHeaderStylerowtrue

&ssObject.Open(&strOutFileName, True);
于 2020-09-30T17:22:28.927 回答