下载并引用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