【问题标题】:c# generated excel sheet with chart templatec# 生成带有图表模板的excel表格
【发布时间】:2021-12-02 19:57:33
【问题描述】:

下午好,

我有一个 .net API,它将接收来自客户端的请求以生成 Excel 工作表。到目前为止,一切都很好。我收到请求,查询数据库,获取数据,然后将其写入 Excel 工作簿中的工作表。

这实际上是我正在努力解决的 excel 部分。我想要一个预制的 Excel 表,其中包含引用尚不存在的表的图表。这张表将根据要求编写。我事先不知道会有多少行,所以这个必须动态调整。我似乎无法弄清楚如何创建图表并让它指向尚不存在的数据。

举个简单的例子,c#程序会写如下:

汽车品牌 |全部的 本田 12 道奇 24 宝马 6

这将写在第二张纸上,第一张纸上是一个条形图,现在可以很好地显示这些数据。目的是在c#程序写入数据后,我可以关闭流,并将excel表返回给客户端。当他们在最后查看时,第一张表将有一个填充图表。

【问题讨论】:

    标签: c# asp.net excel api npoi


    【解决方案1】:

    我更习惯于 VBA,但我认为您正在寻找的内容在这里得到了解释:

    http://csharp.net-informations.com/excel/csharp-excel-chart.htm

    代码生成 Excel 工作表后,会添加一些数据,然后通过硬编码的方式检索数据来创建图表对象。如果您知道从哪里开始复制第二页上的值,并且数据是连续的,那么您可以使用 (如 here)到最后,并将其放入位于第一页的图表中床单。因此,图表不会等待指向动态创建的列表,而是在填充列表后创建(预制,但在您的代码中)。如果是一列字符串一列数字的问题,我觉得这个方法可能比较方便。

    【讨论】:

    • 谢谢。我看到您正在以编程方式创建图表。这看起来会很好用,但我希望能够在之前设计过 excel 表,并且只会丢失数据。这样我可以设计一个漂亮的电子表格并让图表由数据填充。我真的只是希望能够有一个图表指向,例如:工作表“数据”上的 A 列和 B 列中的所有行。 x 轴是 col A 中的所有行,y 轴是 col B,例如...
    • 取决于数据的复杂性:trumpexcel.com/dynamic-chart-range
    • 现在我读了那个链接似乎很明显。我想我已经把它弄得比它需要的复杂得多。现在可以了。我创建了一个只有一行数据的表,因此至少它存在。另一张纸上的图表现在指向该表。我的 c# 程序用表格写入工作表,瞧!图表是动态生成的。非常感谢!
    猜你喜欢
    • 2011-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-31
    • 1970-01-01
    • 1970-01-01
    • 2016-04-01
    相关资源
    最近更新 更多