c#如何操作Excel生成柱形图,spire.xls

 

 

下载并引用spire.xls.dll, 使用下面的代码生成柱形图

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
using Spire.Xls;
  
namespace ExcelColumnChart
{
    class Program
    {
        static void Main(string[] args)
        {
            //创建Workbook对象
            Workbook workbook = new Workbook();
  
            //获取工作表
            Worksheet sheet = workbook.Worksheets[0];
  
            //写入数据
            sheet.Range["A1"].Value = "部门名称";
            sheet.Range["A2"].Value = "开发部";
            sheet.Range["A3"].Value = "测试部";
            sheet.Range["A4"].Value = "销售部";
            sheet.Range["A5"].Value = "技术支持部";
            sheet.Range["B1"].Value = "部门人数";
            sheet.Range["B2"].NumberValue = 121;
            sheet.Range["B3"].NumberValue = 43;
            sheet.Range["B4"].NumberValue = 35;
            sheet.Range["B5"].NumberValue = 67;
  
            //创建柱状图
            Chart chart = sheet.Charts.Add(ExcelChartType.ColumnClustered);
  
            //指定用于生成图表的数据区域
            chart.DataRange = sheet.Range["A1:B5"];
            chart.SeriesDataFromRange = false;
  
            //指定图表所在的位置
            chart.LeftColumn = 3;
            chart.TopRow = 1;
            chart.RightColumn = 10;
            chart.BottomRow = 19;
  
            //设置图表的名称以及x、y轴的名称
            chart.ChartTitle = "部门信息";
            chart.ChartTitleArea.IsBold = true;
            chart.ChartTitleArea.Size = 12;
  
            chart.PrimaryCategoryAxis.Title = "部门";
            chart.PrimaryCategoryAxis.Font.IsBold = true;
            chart.PrimaryCategoryAxis.TitleArea.IsBold = true;
  
            chart.PrimaryValueAxis.Title = "人数";
            chart.PrimaryValueAxis.HasMajorGridLines = false;
            chart.PrimaryValueAxis.TitleArea.TextRotationAngle = 90;
            chart.PrimaryValueAxis.MinValue = 0;
            chart.PrimaryValueAxis.TitleArea.IsBold = true;
  
            //设置图例的位置
            chart.Legend.Position = LegendPositionType.Right;
  
            //不填充plot area
            chart.PlotArea.Fill.FillType = ShapeFillType.NoFill;
            //转换数据流导出EXCEL
            //MemoryStream ms = new MemoryStream();
            //workbook.SaveToStream(ms, FileFormat.Version2007);
            //ms.Flush();
            //ms.Position = 0L;
            //保存工作薄
            workbook.SaveToFile("output.xlsx", ExcelVersion.Version2013);
        }
    }
}                           

  

 

 

 

 

转载:https://zhidao.baidu.com/question/1696501548164190268.html

 

posted @   JackDDD  阅读(372)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示