将图表上的数据导出到Excel / CSV LogiXML

时间:2012-10-30 23:05:57

标签: .net xml

我有一个非常简单的问题。我一直在尝试从当前在图表上使用的数据层导出一组数据(2列)。我想要完成的是获取该图中包含的数据并将其作为数据(而不是实际图形)呈现在excel或csv电子表格中。我想知道这是否可行,而无需创建单独的数据表并将导出链接到该表。我已经尝试了多个Action.Export来实现这一目标,但我现在还不确定是否可以完成。

我感谢任何帮助。谢谢!

更新:这是我对您的报告David所做的修改,以重新创建我的问题:

 <Body>
<Dashboard2 SaveFile="@Function.AppPhysicalPath~\SavedDashboards\Dashboard.xml" DashboardAdjustable="True" AllowFreeformLayout="False" DashboardTabs="True">
  <Panel ID="pnl1" Caption="pnl1" MultipleInstances="True">
    <PanelContent>
      <Division ShowModes="rdExportCsv" ID="divTable" IdeDisplayStatus="Collapsed">
        <DataTable ID="table">
          <DataLayer Type="Static" ID="dlStatic1">
            <StaticDataRow columnA="Test 1" columnB="100" />
            <StaticDataRow columnA="Test 3" columnB="110" />
            <StaticDataRow columnA="Test 2" columnB="105" />
            <DataLayerLink ID="linkData" />
          </DataLayer>
          <AutoColumns />
        </DataTable>
      </Division>
      <Division ID="divChart" ShowModes="rdBrowser" IdeDisplayStatus="Collapsed">
        <Chart Type="XY" ChartDataColumn="columnB" XYChartType="Bar" ChartHeight="260" ChartWidth="400" ChartLabelColumn="columnA">
          <DataLayer Type="Linked" LinkedDataLayerID="linkData" />
        </Chart>
      </Division>
      <Button ID="ExportCSV" Caption="Export CSV" IdeDisplayStatus="Collapsed">
        <Action Type="CSV">
          <Target Type="CSV" ExportDataTableID="table" />
        </Action>
      </Button>
    </PanelContent>
  </Panel>
</Dashboard2>

单击导出按钮后,它会导出到CSV文件,但是我在下面的评论中提到了错误。有任何想法吗?谢谢!

1 个答案:

答案 0 :(得分:1)

是的,您需要创建一个单独的数据表,以将列导出为Excel或CSV。原因是,Logi引擎使用列属性来正确地指示导出行为(例如,宽度,数据类型,数据格式等)。但是,您构建的表不需要显示在报表的交互式版本中。您可以使用“ShowModes”在Web输出期间显示图表,并将表用于导出的内容。此外,您可以使用“链接”数据层来填充表格和图表,以便您的查询或其他数据源调用只需要执行一次。

这是一个简单的例子,使用了LinkedData Layers和ShowModes这两个概念

<Body>
  <Division ShowModes="rdExportCsv" ID="divTable">
    <DataTable ID="table">
      <DataLayer Type="Static" ID="dlStatic1">
        <StaticDataRow columnA="Test 1" columnB="100" />
        <StaticDataRow columnA="Test 3" columnB="110" />
        <StaticDataRow columnA="Test 2" columnB="105" />
        <DataLayerLink ID="linkData" />
      </DataLayer>
      <AutoColumns />
    </DataTable>
  </Division>
  <Division ID="divChart" ShowModes="rdBrowser">
    <Chart Type="XY" ChartDataColumn="columnB" XYChartType="Bar" ChartHeight="260" ChartWidth="400" ChartLabelColumn="columnA">
      <DataLayer Type="Linked" LinkedDataLayerID="linkData" />
    </Chart>
  </Division>
  <Button ID="ExportCSV" Caption="Export CSV">
    <Action Type="CSV">
      <Target Type="CSV" ExportDataTableID="table" />
    </Action>
  </Button>
</Body>