c#如何操作Excel生成柱形图

如题所述

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

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;

            //保存工作薄
            workbook.SaveToFile("output.xlsx", ExcelVersion.Version2013);
        }
    }
}

结果:

温馨提示:答案为网友推荐,仅供参考
相似回答