Logo

c# excel插入图表

photo

2024年06月05日

using System;
using Microsoft.Office.Interop.Excel;

namespace ExcelChart_TEST
{
class ExcelTest
{
public void CreateExcel()
{
//待生成的文件名称
string FileName = “test.xlsx”;
string FilePath = System.AppDomain.CurrentDomain.BaseDirectory+FileName;
Application excel = new Application();
Workbook wBook = excel.Workbooks.Open(FilePath);
excel.Visible = true;
Worksheet wSheet1 = wBook.Worksheets[1] as Worksheet;
int rows = wSheet1.UsedRange.Rows.Count;//获取sheet中已使用的行数
int columns=wSheet1.UsedRange.Columns.Count;//获取sheet中已使用的列数
CreateChart(wBook, wSheet1, rows, columns);
#region 保存Excel,清除进程
excel.DisplayAlerts = false;
excel.AlertBeforeOverwriting = false;
wBook.SaveAs(System.AppDomain.CurrentDomain.BaseDirectory + “testchart.xlsx”, XlFileFormat.xlOpenXMLWorkbook, Type.Missing, Type.Missing, Type.Missing, false, XlSaveAsAccessMode.xlNoChange, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
excel.Quit();
System.Runtime.InteropServices.Marshal.ReleaseComObject(excel);
excel = null;
wBook = null;
GC.Collect();

        #endregion
    }

    private void CreateChart(Workbook m_Book, Worksheet m_Sheet, int rows,int columns)
    {
         Series oSeries;
         Chart oChart;
         oChart = m_Book.Charts.Add(Type.Missing, Type.Missing, Type.Missing, Type.Missing);
         oChart.ChartType = XlChartType.xlColumnClustered;//柱状图
         //Range cellrange = m_Sheet.get_Range((Range)m_Sheet.Cells[3, 3], (Range)m_Sheet.Cells[num, 3]);
         oChart.SetSourceData((Range)m_Sheet.get_Range("C2:C" + rows.ToString()), Type.Missing);//Y轴取值范围
         oSeries = (Series)oChart.SeriesCollection(1);
         oSeries.XValues = m_Sheet.get_Range("A2", "A" + rows.ToString());//x轴取值范围
         oChart.HasTitle = true;//设置标题
         oChart.ChartTitle.Text = "Title TEST";
         
         Axis yAxis = (Axis)oChart.Axes(XlAxisType.xlValue, XlAxisGroup.xlPrimary);
         yAxis.HasTitle = true;
         yAxis.AxisTitle.Text = "yield";//y轴有标题
         Axis xAxis = (Axis)oChart.Axes(XlAxisType.xlCategory, XlAxisGroup.xlPrimary);
         xAxis.HasTitle = true;
         xAxis.AxisTitle.Text = "date";//x轴标题

         oChart.Location(XlChartLocation.xlLocationAsObject, m_Sheet.Name);//将图表放在指定sheet里

         Range oResizeRange = (Range)m_Sheet.Columns.get_Item(columns+2, Type.Missing);
         m_Sheet.Shapes.Item("Chart 1").Left = (float)(double)oResizeRange.Left;//调图表的位置左边距


    }
}

}


ChartType属性
柱形图 簇状 xlColumnClustered
三维簇状柱形图 xl3DColumnClustered
堆积柱形图 xlColumnStacked
三维堆积柱形图 xl3DColumnStacked
百分比堆积柱形图 xlColumnStacked100
三维百分比堆积柱形图 xl3DColumnStacked100
三维柱形图 xl3DColumn簇状
条形图 簇状条形图 xlBarClustered
三维簇状条形图 xl3DBarClustered
堆积条形图 xlBarStacked
三维堆积条形图 xl3DBarStacked
百分比堆积条形图 xlBarStacked100
三维百分比堆积条形图 xl3DBarStacked100
折线图 折线图 xlLine
数据点折线图 xlLineMarkers
堆积折线图 xlLineStacked
堆积数据点折线图 xlLineMarkersStacked
百分比堆积折线图 xlLineStacked100
百分比堆积数据点折线图 xlLIneMarkersStacked100
折线图三维折线图 xl3DLine
饼图 饼图 xlPie
分离型饼图 xlPieExploded
三维饼图 xl3Dpie
三维分离型饼图 xl3DPieExploded
复合饼图 xlPieOfPie
饼图复合柱饼图 xlBarOfPie
XY (散点图) 散点图 xlXYScatter
平滑线散点图 xlXYScatterSmooth
无数据点折线散点图 xlXYScatterLinesNoMarkers
折线散点图 xlXYScatterLines
无数据点折线散点图 xlXYScatterLinesNoMarkers
气泡图 气泡图 xlBubble
三维气泡图 xlBubble3DEffect
面积图 面积图 xlArea
三维面积图 xl3DArea
堆积面积图 xlAreaStacked
三维堆积面积图 xl3DAreaStacked
百分比堆积面积图 xlAreaStacked100
三维百分比堆积面积图 xl3DAreaStacked100
圆环图 圆环图 xlDoughnut
分离型圆环图 xlDoughnutExploded
雷达图 雷达图 xlRadar
数据点雷达图 xlRadarMarkers
填充雷达图 xlRadarFilled
曲面图 三维曲面图 xlSurface
曲面图(俯视图) xlSurfaceTopView
三维曲面图(框架图) xlSurfaceWireframe
曲面图(俯视框架图) xlSurfaceTopViewWireframe
股价图 盘高-盘低-收盘图 xlStockHLC
成交量-盘高-盘低-收盘图 xlStockVHLC
开盘-盘高-盘低-收盘图 xlStockOHLC
成交量-开盘-盘高-盘低-收盘图 xlStockVOHLC
圆柱图 簇状柱形圆柱图 xlCylinderColClustered
簇状条形圆柱图 xlCylinderBarClustered
堆积柱形圆柱图 xlCylinderColStacked
堆积条形圆柱图 xlCylinderBarStacked
百分比堆积柱形圆柱图 xlCylinderColStacked100
百分比堆积条形圆柱图 xlCylinderBarStacked100
三维柱形圆柱图 xlCylinderCol
圆锥图 簇状柱形圆锥图 xlConeColClustered
簇状条形圆锥图 xlConeBarClustered
堆积柱形圆锥图 xlConeColStacked
堆积条形圆锥图 xlConeBarStacked
百分比堆积柱形圆锥图 xlConeColStacked100
百分比堆积条形圆锥图 xlConeBarStacked100
三维柱形圆锥图 xlConeCol
棱锥图 簇状柱形棱锥图 xlPyramidColClustered
簇状条形棱锥图 xlPyramidBarClustered
堆积柱形棱锥图 xlPyramidColStacked
堆积条形棱锥图 xlPyramidBarStacked
百分比堆积柱形棱锥图 xlPyramidColStacked100
百分比堆积条形棱锥图 xlPyramidBarStacked100
三维柱形棱锥图 xlPyramidCol

橙子主题打折出售

其实我不卖,主要是这里是放广告的,所以就放了一个
毕竟主题都没做完,卖了也是坑.

购买它
所有附件
该文章没有附件.
本文为原创文章,请注意保留出处!

热门文章

修复群晖Synology Drive client右键菜单缺失问题 本教程主要解决windows10右键菜单中没有SynologyDrive菜单的问题,整体思路是找到...修复群晖SynologyDriveclient右键菜单缺失问题 作者:Pastore Antonio
2005 浏览量
docker如何查看一个镜像内部的目录结构及其内部都有哪些文件 前言:有时候我们会在docker上下载一个镜像,或者是上传一个镜像到docker上,甚至有时候就是在...docker如何查看一个镜像内部的目录结构及其内部都有哪些文件 作者:Pastore Antonio
1944 浏览量
Adobe Acrobat Pro 激活 这里记录了一些AdobeAcrobat的激活教程和组件。浏览量:1,825 作者:Pastore Antonio
1668 浏览量
追寻日出,找回自己 为什么我要去追寻日出?其实我是一个很懒的人,每次都起不来,直到有一次我在租房中睡到了大天亮,阳光照...追寻日出,找回自己 作者:Pastore Antonio
1625 浏览量
Swagger2 接口多级分组方法 swagger无疑是Java开发的最佳伴侣,接口非常方便调试;当然也有用Postman,因人而异吧...Swagger2接口多级分组方法 作者:Pastore Antonio
1532 浏览量