在c#的页面绘制柱形图已经做好了,但是Boss说让加一个把柱形图导出到Excel中的功能,找了半天都没有找到怎么做,Google里面有很多人提问的,但是没有合适的答案。
再详细一下需求:在页面上的柱形图已经画好了,但是如何把柱形图导出到Excel里面还是思路,绘制柱形图的方参考的是:
http://blog.csdn.net/gisfarmer/archive/2009/01/08/3736452.aspx,现在需要把柱形图输出到Excel里面。静候各位大侠指点,急用,已经折腾了一天了,没有一点眉目,多谢了,希望有源代码,谢谢

解决方案 »

  1.   

    把画在页面柱形图的数据取出来,再根据那些数据在Excel生成柱形图可以不?至于如何在Excel生成柱形图网上应该有例子的。
      

  2.   

    excel中做图表,你只要在excel里面填写数据,然后利用excel自带的图表功能自动生成图表。
    参考:
    Sheet1.Shapes
    Sheet1.ChartObjects
    Sheet1.PivotTables
    网上应该可以找到excel自动生成的图表的代码。
      

  3.   


    关键是如何在Excel中生成柱形图不知道,找了半天也没有找到例子,郁闷死了
      

  4.   

    建好Excel的模板,在Excel里面添加图表,指定图表的数据域,然后把数据导入到Excel对应的数据域里面,
    它会自动生成图表
    另一种就是把你生成的图表插入Excel中。把图表保存成图片,插入Excel中
      

  5.   

    如果Excel表已经建立的话,我一般会通过在Excel录制一个建立图表的宏,然后参考宏的操作方法来写。
      

  6.   

    http://www.xlsoft.com/jp/products/SSG/samples.html
    一个日本的控件,excel作图能用上,很方便,也有例子 。
    另外就是 ,按楼上说的 ,把生成的图表保存成图片,插入excel,这个就容易多了 。
      

  7.   

    柱形图生成图片,添加图片到excel
    public void InsertPicture(string RangeName, string PicturePath) 
             { 
                 m_objRange = m_objSheet.get_Range(RangeName, m_objOpt); 
                 m_objRange.Select(); 
                 Excel.Pictures pics = (Excel.Pictures)m_objSheet.Pictures(m_objOpt); 
                 pics.Insert(PicturePath, m_objOpt); 
             } 
             public void InsertPicture(string RangeName, string PicturePath, float PictuteWidth, float PictureHeight) 
             { 
                 m_objRange = m_objSheet.get_Range(RangeName, m_objOpt); 
                 m_objRange.Select(); 
                 float PicLeft, PicTop; 
                 PicLeft = Convert.ToSingle(m_objRange.Left); 
                 PicTop = Convert.ToSingle(m_objRange.Top); 
                 m_objSheet.Shapes.AddPicture(PicturePath,Microsoft.Office.Core.MsoTriState.msoFalse, 
                   Microsoft.Office.Core.MsoTriState.msoTrue, PicLeft, PicTop, PictuteWidth, PictureHeight); 
             } 
      

  8.   

    现在已经生成图片,下面为过程Bitmap image = new Bitmap(width, height);//===========中间省略对image的赋值,详细参考
    //http://blog.csdn.net/gisfarmer/archive/2009/01/08/3736452.aspx//下面为输出柱状图System.IO.MemoryStream ms = new System.IO.MemoryStream();
    image.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
    Response.ClearContent();
    Response.ContentType = "image/Jpeg";
    Response.BinaryWrite(ms.ToArray());===============================请问如何修改,才能将这个柱形图图片保存到Excel,要求是提示“打开”、“保存”,然后可以选择保存路径的那种。急啊,用其他方法实现也行,哪位帮帮我?
      

  9.   

    导出excel并且包含生成的图片?把生成图片的页面url放到excel中,这样如果联网的时候能看到excel中的图片,否则看不到,如果就想把生成的图片直接存在导出的excel中,没找到这个方法(个人感觉绝对不可能,去说服你们领导吧)
      

  10.   

    用saveFileDialog1控件直接导出
    saveFileDialog1.Filter = "(*.xls)|*.xls";
                this.saveFileDialog1.ShowDialog();
                string Path = this.saveFileDialog1.FileName;
                if(Path!="")
                chartControl1.ExportToXls(Path);
      

  11.   

    up 
     </b></b></b></b></b></b></b></b></b></b></b></b></b></b></b></b></b></b></b></b></b></b></b></b></b></b></b></b></b></b></b></b>
      

  12.   

    好像说是生成MID就可以自动打印,不知道是真是假?