我有一些关于用户的表格数据。我想基于它生成一个Confluence页面。但是我不想显示数据,而是有一个漂亮的表格。
例如,数据包括用户标识符。但是在页面上我想把它用于少数事情。例如,为用户条目/行创建一个锚点,在列中显示标识符并生成链接(在另一列中)到其他工具,其中标识符是URL中的参数。
这显然是数据与表示分离的明显方向及其所有好处。
现在问题是我不知道如何做到这一点,而我觉得它应该以某种方式与Confluence所提供的一切可能。
有各种报告宏。但问题是如何获取初始表格数据。我尝试使用Excel(或CSV)附件。但我无法从中提取数据(除了显示基于它的简单表格)。
有什么建议吗?我正在使用Confluence 5.4。
我之前在问题Atlassian Answers Reporting on spreadsheet data from attachment上询问了这个问题,但到目前为止还没有答案,我认为没有答案。虽然我认为Stack Overflow更受欢迎,所以我希望也许有人会有任何建议。
答案 0 :(得分:1)
对于“页面上的显示表信息”部分:这可以通过用户宏来实现。 CSV宏和HTML宏可用于从附件或其他位置提取数据以显示在Wiki页面上。
还有其他方法可以显示此类数据。这可以使用SQL宏从数据库中提取的信息来完成。 Confluence可以从自己的数据库或外部数据库读入。
例如,假设您要使用关键页面信息列出空间中具有超链接的所有页面,以编辑,查看,删除目标页面。此示例中提取的信息位于Confluence表中。
{sql-query:dataSource=wiki|output=wiki}
SELECT
'['||B.spacename||'|'||B.spacekey||':]' "Space Name",
'['||A.parentid ||'|///pages/viewpage.action?pageId='||A.parentid||']' "Page Parent",
'['||A.contentid||'|///pages/viewpage.action?pageId='||A.contentid||']' "Page Id",
'['||A.title ||'|///viewpage.action?pageId='||A.contentid||']' "Page Title",
'[View Page |///pages/viewpage.action?pageId='||A.contentid||']' "View Page",
'[Edit Page |///pages/editpage.action?pageId='||A.contentid||']' "Edit Page",
'[Delete Page |///pages/removepage.action?pageId='||A.contentid||']' "Delete Page"
FROM wiki.CONTENT A, SPACES B
WHERE B.SPACEKEY = 'sp' -- Put the spacekey here
AND B.SPACEID = A.SPACEID
AND A.TITLE like '%this%' -- Optionally, only return results for pages with the word 'this' in them
-- AND A.CONTENTID = 125999877 -- optionally, only return results for a single page by id
ORDER BY A.TITLE
{sql-query}
在页面上显示内容后,可以通过html宏使用JavaScript对wiki内容进行后期渲染。
{html}
<script type="text/javascript">
AJS.$(document).ready(function() {
AJS.$('#tableid').find('tr > td').contents().html('Hello world'); // or whatever to find and change the html or text
});
</script>
{html}
答案 1 :(得分:0)
我认为您的Confluence是版本4或更高版本。默认编辑器是WISIWYG,但您也可以启用Source Editor(阅读Confluence doc,了解如何执行此操作)。
您可以在外部编辑器中创建页面源,然后将其复制/粘贴到Confluence Source Editor(如果需要导入多个文件,则使用Confluence REST API)。
创建包含样本表的页面,然后查看此页面的来源。将此页面的元素复制/粘贴到表格数据中。使用搜索和替换模式在正确的位置插入标记。
例如,如果您有CSV文件:
- 用</th><th>
替换逗号
- 将<tr><th>
放在每行的开头
- 将</th><tr>
放在每行的末尾
这应该在Confluence中创建一个漂亮的表。