zoukankan      html  css  js  c++  java
  • Silverlight 图表下载到Excel文件中

    一、Silverlight xaml.cs文件按钮触发方法

     1、//下载图表
            private void btnDown_Click(object sender, RoutedEventArgs e)
            {
        DBServiceClient svc = new DBServiceClient();
                svc.GenerateExcelReportAsync();
                svc.GenerateExcelReportCompleted += new EventHandler<GenerateExcelReportCompletedEventArgs>(svc_GenerateExcelReportCompleted);
                       }

    2、//委托 在本地弹出下载提示框 并删除服务器上的Excel文件

            private void svc_GenerateExcelReportCompleted(object sender, GenerateExcelReportCompletedEventArgs e)
            {
                string strExcelName = e.Result;
                string strUri = Application.Current.Host.Source.AbsoluteUri.Substring(0, Application.Current.Host.Source.AbsoluteUri.IndexOf("/ClientBin")) + "/Temp/" + strExcelName;
                strUri = "window.location.href='" + strUri + "';";
                System.Windows.Browser.HtmlPage.Window.Eval(strUri);//本地弹出下载提示框
                //删除Excel临时文件
                DBServiceClient svc = new DBServiceClient();
                svc.DeleteExcelReportAsync();
                        }

    二、wcf

    1、 //下载图表
            [OperationContract]
            [ServiceKnownType(typeof(ListItem))]
            public string GenerateExcelReport()
            {
                string strTemplatePath = "ReportMgt\Template\SilverlightChart\" + strAppCode;
                string strExcelVisualPath = string.Format("/{0}/{1}.xls", strTemplatePath, strChartExcelName);//Excel模板地址
                strExcelVisualPath = Context.Request.ApplicationPath + strExcelVisualPath;
                DataSet ds = new DataSet();
                ds = dtChart.DataSet;
                string strExcelChartPath = new CreateExcelChart().Create(strExcelVisualPath, ds, strTitleChart, "", "");//下载报表到指定地址(Temp文件夹下)

                strExcelName = string.Format("{0}.xls", strTitleChart);
                return strExcelName;
            }

    2、//删除服务器上的图表
            [OperationContract]
            [ServiceKnownType(typeof(ListItem))]
            public void DeleteExcelReport()
            {
                //检查目录是否存在(根据虚拟地址转换成物理地址)
                string path = Context.Server.MapPath(Context.Request.ApplicationPath) + "\Temp\" + strExcelName;
                //File.Exists("D:\iirs2010new\sln\BS.EAP.Portal\Temp/XXXXXx产量变化图.xls")
                if (File.Exists(path))
                {
                    File.Delete(path);
                }
            }

  • 相关阅读:
    CSUFT 1002 Robot Navigation
    CSUFT 1003 All Your Base
    Uva 1599 最佳路径
    Uva 10129 单词
    欧拉回路
    Uva 10305 给任务排序
    uva 816 Abbott的复仇
    Uva 1103 古代象形文字
    Uva 10118 免费糖果
    Uva 725 除法
  • 原文地址:https://www.cnblogs.com/xuxin-1989/p/3862927.html
Copyright © 2011-2022 走看看