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

橙子主题打折出售

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

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

热门文章

Adobe Acrobat Pro 激活 这里记录了一些AdobeAcrobat的激活教程和组件。浏览量:1,987 作者:Pastore Antonio
1830 浏览量
“sudo: apt-get:找不到命令”的解决方法 Linux系统:CentOS7原因分析:这是由于CentOS的软件安装工具不是apt-get,而是...“sudo:apt-get:找不到命令”的解决方法 作者:Pastore Antonio
1540 浏览量
一个不可思议的一天 上周五可以说是我人生中的梦魇……因为时间没安排好,为了一个10几分钟的会议,打的花了100多。然...一个不可思议的一天 作者:Pastore Antonio
1531 浏览量
Win10中使用cmd命令快速安装telnet服务 Win10中不能够使用Telnet的主要原因是由于系统默认情况下是没有安装telnet服务的,所以我...Win10中使用cmd命令快速安装telnet服务 作者:Pastore Antonio
1524 浏览量
Windows Server IIS+ARR反向代理(配置反向代理服务器) 1.概念说明:反向代理反向代理服务器位于用户与目标服务器之间,但是对于用户而言,反向代理服务器就相...WindowsServerIIS+ARR反向代理(配置反向代理服务器) 作者:Pastore Antonio
1518 浏览量