博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用Aspose.Cells 根据模板生成excel里面的 line chart
阅读量:5174 次
发布时间:2019-06-13

本文共 3922 字,大约阅读时间需要 13 分钟。

目的:

1.根据模板里面的excel数据信息,动态创建line chart

2.linechart 的样式改为灰色

3.以流的形式写到客户端,不管客户端是否装excel,都可以导出到到客户端

4.使用Aspose.Cells的基本功能 

5.使用mvc测试代码

 

导出到excel里面的效果图

 

excel里面的数据源sheet2

2001	2002	2003	2004	2005	2006	2007中原地产	10	20	30	40	50	70	80上海中原	30	80	44	55	88	90	120河北中原	24	45	55	66	88	90	70南京中原	44	55	66	77	88	99	90背景中原	11	34	36	37	33	32	21中原地产2	10	20	30	40	50	70	80上海中原3	30	80	44	55	88	90	120上海中原4	24	45	55	66	88	90	70上海中原5	44	55	66	77	88	99	90上海中原6	11	34	36	37	33	32	21上海中原7	10	20	30	40	50	70	80上海中原8	30	80	44	55	88	90	120上海中原9	24	45	55	66	88	90	70上海中原10	44	55	66	77	88	99	90上海中原11	11	34	36	37	33	32	21中原地产12	10	20	30	40	50	70	80上海中原13	30	80	44	55	88	90	120上海中原14	24	45	55	66	88	90	70上海中原15	44	55	66	77	88	99	90上海中原16	11	34	36	37	33	32	21上海中原17	10	20	30	40	50	70	80上海中原18	30	80	44	55	88	90	120上海中原19	24	45	55	66	88	90	70上海中原21	44	55	66	77	88	99	90上海中原22	11	34	36	37	33	32	21

  

 

入口方法:

public ActionResult excels(){WorkbookDesigner designer = new WorkbookDesigner();string path = Server.MapPath("/Templete/11111.xls"); designer.Workbook.Open(path); Workbook workbook = designer.Workbook;//创建一个chart到页面CreateStaticReport1(workbook);designer.Process();//将流文件写到客户端流的形式写到客户端,名称是_report.xlsdesigner.Save("_report.xls", SaveType.OpenInExcel, FileFormatType.Excel2003, System.Web.HttpContext.Current.Response);Response.Flush();Response.Close();designer = null;// Response.End();return View("getexcel");}

生成chart方法

private void CreateStaticReport1(Workbook workbook)        {            //创建一个折线图            workbook.Worksheets[0].Charts.Add(ChartType.Line, 1, 1, 25, 10);            Aspose.Cells.Chart chart = workbook.Worksheets[0].Charts[0];                    //折线区域竖线设置为显示颜色设置为灰色            chart.CategoryAxis.MajorGridLines.IsVisible = true;           chart.CategoryAxis.MajorGridLines.Color = Color.Gray;           //折线区域设置横着的网格线显示                       chart.MajorGridLines.IsVisible = true;            chart.MajorGridLines.Color = Color.Gray;            //设置title样式            chart.Title.Text = "Sales By Region For Years";            chart.Title.TextFont.Color = Color.Gray;            chart.Title.TextFont.IsBold = true;            chart.Title.TextFont.Size = 12;            //Set Properties of nseries            chart.NSeries.Add("Sheet2!B2:H26", false);            //Set NSeries Category Datasource            chart.NSeries.CategoryData = "Sheet2!B1:H1";                      Cells cells = workbook.Worksheets[1].Cells;            //loop over the Nseriese            for (int i = 0; i < chart.NSeries.Count; i++)            {                //设置每条折线的名称                chart.NSeries[i].Name = cells[i + 1, 0].Value.ToString();                                          //设置线的宽度                chart.NSeries[i].Line.Weight = WeightType.MediumLine;                                //设置每个值坐标点的样式                chart.NSeries[i].MarkerStyle = ChartMarkerType.Circle;                chart.NSeries[i].MarkerSize = 5;                chart.NSeries[i].MarkerBackgroundColor = Color.White;                chart.NSeries[i].MarkerForegroundColor = Color.Gray;                //每个折线向显示出值                chart.NSeries[i].DataLabels.IsValueShown = true;                chart.NSeries[i].DataLabels.TextFont.Color = Color.Gray;            }                  //设置x轴上数据的样式为灰色            chart.CategoryAxis.TickLabels.Font.Color = Color.Gray;                     chart.CategoryAxis.TickLabelPosition = TickLabelPositionType.NextToAxis;                     //设置y轴的样式            chart.ValueAxis.TickLabelPosition = TickLabelPositionType.Low;            chart.ValueAxis.TickLabels.Font.Color = Color.Gray;           // chart.ValueAxis.TickLabels.TextDirection = TextDirectionType.LeftToRight;            //设置Legend位置以及样式            chart.Legend.Position = LegendPositionType.Bottom;            chart.Legend.TextFont.Color = Color.Gray;            chart.Legend.Border.Color = Color.Gray;        }

 

 

 

转载于:https://www.cnblogs.com/muer/p/asposecell_linechart.html

你可能感兴趣的文章
Android应用开发-网络编程①
查看>>
input中的name,value以及label中的for
查看>>
静态库制作-混编(工程是oc为基础)
查看>>
jQuery 显示加载更多
查看>>
Confluence 6 系统运行信息中的 JVM 内存使用情况
查看>>
Confluence 6 升级以后
查看>>
用JS实现版面拖拽效果
查看>>
二丶CSS
查看>>
《avascript 高级程序设计(第三版)》 ---第二章 在HTML中使用Javascript
查看>>
JS一些概念知识及参考链接
查看>>
TCP/IP协议原理与应用笔记24:网际协议(IP)之 IP协议的简介
查看>>
SAP HANA开发中常见问题- 基于SAP HANA平台的多团队产品研发
查看>>
游戏中的心理学(一):认知失调有前提条件
查看>>
WHAT I READ FOR DEEP-LEARNING
查看>>
【Ruby】Ruby在Windows上的安装
查看>>
Objective C 总结(十一):KVC
查看>>
BZOJ 3747 洛谷 3582 [POI2015]Kinoman
查看>>
vue实战(7):完整开发登录页面(一)
查看>>
Visual Studio自定义模板(二)
查看>>
【Mood-20】滴滤咖啡做法 IT工程师加班必备 更健康的coffee 项目经理加班密鉴
查看>>