C#操作excel(chart)
2010-03-02 10:38
766 查看
开发excel,免不了要开发excel的chart:
代码
如果我们使用.net的com,那么我们可以对excel的增益集合进行录制(工具--》增益集合--》录制增益集),录制完后,我们然后打开vba编辑器,查看相应的代码。我们根据vba代码来写c#代码,进行稍微的改动就可以用了。VBA操作看这里
加上一个小东西:
我们在读excel的时候不用text二世用value2的时候,读取时间有时候会是double类型,那么我们怎么样把它转换成时间类型?DateTime.FromOADate
double转换成时间如下:
代码
#region operate chart //创建chart对象 Excel.Chart chart = m_objExcel.Charts.Add(Type.Missing, Ocuurent_sheet, Type.Missing, Type.Missing) as Excel.Chart; //chart类型 chart.ChartType = Excel.XlChartType.xlLineMarkers; //chart.set_HasAxis(); //设置chart对应excel的sheet里的数据矩阵范围 chartrange = Ocuurent_sheet.get_Range(Ocuurent_sheet.Cells[2, 2], Ocuurent_sheet.Cells[5, (1 + Ds_occurent.Tables[0].Columns.Count)]); //绑定数据 //chart.SetSourceData(chartrange,Excel.XlRowCol.xlRows); chart.HasLegend = true; //标题 chart.HasTitle = true; //标题名称 chart.ChartTitle.Text = "HUB occurrence"; chart.Legend.Position = Excel.XlLegendPosition.xlLegendPositionBottom; //设置excely和x轴 Excel.Axis categoryAxis = (Excel.Axis)m_objExcel.ActiveChart.Axes(Excel.XlAxisType.xlCategory, Excel.XlAxisGroup.xlPrimary); categoryAxis.CategoryType = Excel.XlCategoryType.xlCategoryScale; Excel.Series se = (Excel.Series)chart.SeriesCollection(3); //chart颜色设置 se.Border.ColorIndex = 5; se = (Excel.Series)chart.SeriesCollection(2); se.Border.ColorIndex = 6; se = (Excel.Series)chart.SeriesCollection(1); se.Border.ColorIndex = 3; //se.MarkerBackgroundColorIndex = 5; //se.MarkerStyle = Excel.XlMarkerStyle.xlMarkerStyleStar; chart.Location(Excel.XlChartLocation.xlLocationAsObject, Ocuurent_sheet.Name); //chart位置 Ocuurent_sheet.Shapes.Item(1).IncrementTop(-116); Ocuurent_sheet.Shapes.Item(1).IncrementLeft(-166); float a = 0.84f; //chart大小 Ocuurent_sheet.Shapes.Item(1).ScaleHeight(a, MsoTriState.msoFalse, MsoScaleFrom.msoScaleFromTopLeft); #endregion
如果我们使用.net的com,那么我们可以对excel的增益集合进行录制(工具--》增益集合--》录制增益集),录制完后,我们然后打开vba编辑器,查看相应的代码。我们根据vba代码来写c#代码,进行稍微的改动就可以用了。VBA操作看这里
加上一个小东西:
我们在读excel的时候不用text二世用value2的时候,读取时间有时候会是double类型,那么我们怎么样把它转换成时间类型?DateTime.FromOADate
double转换成时间如下:
DateTime getDate = new DateTime(2009, 12, 30); double Number = getDate.ToOADate();// convert the datetime to double //double doubleValue = 0; DateTime doubleDate = DateTime.FromOADate(Number);// convert the double to datetime Console.WriteLine(Number);//0 Console.WriteLine(doubleDate.ToString());//12/30/2009 12:00:00 AM Console.WriteLine(doubleDate.ToString("yyyyMMdd HH:mm:ss"));//20091230 00:00:00
相关文章推荐
- 用C#操作Excel以及产生Chart
- C#操作Excel做Chart并输出成图
- 使用C#和Excel进行报表开发(二)-操作统计图(Chart)
- 使用C#和Excel进行报表开发(二)-操作统计图(Chart)
- C#操作EXCEl的chart折线图 封转的类
- 使用C#和Excel进行报表开发(二)-操作统计图(Chart)
- 使用C#和Excel进行报表开发(二)-操作统计图(Chart)
- 使用C#和Excel进行报表开发(二)-操作统计图(Chart)
- 使用C#和Excel进行报表开发(二)-操作统计图(Chart)
- 使用C#和Excel进行报表开发(二)-操作统计图(Chart)
- 使用C#和Excel进行报表开发(二)-操作统计图(Chart)
- C#操作EXCEl的chart折线图 封转的类
- 使用C#和Excel进行报表开发(二)-操作统计图(Chart)
- 使用C#和Excel进行报表开发(二)-操作统计图(Chart)
- 使用C#和Excel进行报表开发(二)-操作统计图(Chart)
- 使用C#和Excel进行报表开发(二)-操作统计图(Chart)
- 使用C#和Excel进行报表开发(二)-操作统计图(Chart)
- 基于C#语言利用Microsoft.office.introp.excel操作Excel总结
- MyXls组件操作Excel报表(C#)
- ASP.NET C# DataTable与Excel互操作示例