c#控制excel画饼状图

来源:百度知道 编辑:UC知道 时间:2024/05/27 23:45:21
private void button1_Click(object sender, EventArgs e)
{
Excel.Application xApp = new Excel.ApplicationClass();
xApp.Visible = true;
Excel.Workbook xBook = xApp.Workbooks._Open(@"D:\c#练习\myTXT\WindowsApplication1\bin\Debug\m_Book.xls",
Missing.Value, Missing.Value, Missing.Value, Missing.Value
, Missing.Value, Missing.Value, Missing.Value, Missing.Value
, Missing.Value, Missing.Value, Missing.Value, Missing.Value);
Excel.Worksheet xSheet = (Excel.Worksheet)xBook.Sheets[1];
CreateChart(xBook, xSheet, 34);
}
private void CreateChart(Excel._Workbook m_Book, Excel._Worksheet m_Sheet, int num)
{
Excel.Range oResizeRange;
Excel.Series oSeries;
m_Book.Charts.Add(Missing.Value, Missing.Value, 1, Missing.Value);
m_Book.ActiveChart.ChartType = Excel.XlChartType.xlPie;//设置图形
//设置数据取值范围
m_Book.ActiveChart.SetSourceData(m_Sheet.get_Range("C3", "E3"

一个数据源只能画一个图吧
我看了你的空间代码.
你的CreateChart 方法调用了一次,所以只能出现一个char。
你可以试下调用三次,分别设置数据源.
其实你所用的Chartobject 也是面向对象的运用,你只实例化一个,当然只能出来一个图.

看你在天涯上也问了哦,
你可以搞一个变通的办法.
先按照你的要求作出一个excel做模板,然后你以后要用的时候改变range中的值就ok啦.