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

发布时间 2023-06-07 21:31:20作者: JackDDD

 

 

下载并引用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;
            //转换数据流导出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