Excel 图表的相关问题需要帮助

Jack J Jun 24,616 信誉分 Microsoft 供应商
2024-02-01T07:05:16.6966667+00:00

我计划使用 c# 创建组合图,您能否指导我如何实现这一目标。 该图表是簇状柱形图和折线图的组合,我计划使用 microsoft.office.interop dll 来实现它。将其用于报告目的。 我们现有的应用程序正在使用宏,我们希望将其从宏升级到 C# dll。

Note:此问题总结整理于:Excel charts - Microsoft Q&A

C#
C#
一种面向对象的类型安全的编程语言,它起源于 C 语言系列,包括对面向组件的编程的支持。
193 个问题
0 个注释 无注释
{count} 票

1 个答案

排序依据: 非常有帮助
  1. Hui Liu-MSFT 48,586 信誉分 Microsoft 供应商
    2024-02-01T07:47:34.3333333+00:00

    您好,您可以参考以下代码,使用 microsoft.office.interop dll 创建组合图。 代码:(使用 Excel = Microsoft.Office.Interop.Excel;)

        Excel.Application app = new Excel.Application();  
        Excel.Workbook workbook = app.Workbooks.Open("D:\\1.xlsx");  
        Excel.Worksheet worksheet = workbook.Sheets[1];  
        var charts = worksheet.ChartObjects() as Excel.ChartObjects;  
        var chartObject = charts.Add(60, 10, 300, 300) as Excel.ChartObject;  
        var chart = chartObject.Chart;  
        var range = worksheet.get_Range("A1", "D5");  
        chart.SetSourceData(range);  
        chart.FullSeriesCollection(1).ChartType = Excel.XlChartType.xlColumnClustered;  
        chart.FullSeriesCollection(2).ChartType = Excel.XlChartType.xlColumnClustered;  
        chart.FullSeriesCollection(3).ChartType = Excel.XlChartType.xlLine;  
        chart.FullSeriesCollection(3).AxisGroup = Excel.XlAxisGroup.xlSecondary;  
      
        chart.ChartWizard(Source: range,  
            Title: "Graph Title",  
            CategoryTitle: "X value",  
            ValueTitle: "Y value");  
        //Set chart range.  
       // Save.  
       workbook.Save();  
       workbook.Close();  
    

    结果:

    User's image

    如果答案是正确的,请点击“接受答案”并点赞。 如果您对此答案还有其他疑问,请点击“评论”。 注意:如果您想接收相关电子邮件,请按照我们的文档中的步骤启用电子邮件通知 此线程的通知。

    0 个注释 无注释

你的答案

问题作者可以将答案标记为“接受的答案”,这有助于用户了解已解决作者问题的答案。