如何为客户端机器下载excel文件?

时间:2017-10-23 08:52:32

标签: javascript c# asp.net ajax wcf

1.输入类型按钮显示到客户端并单击此按钮,调用javascript方法。

com.google.android.gms.location.LocationListener
  1. 此javascript方法检索以下参数值并传递给web方法后面的代码。

                <input type="button" id="btnImportExcel" name="btnImportExcel" value="Export to Excel" class="btn btn-default" onclick="Export_Excel();" style="width: 10%" />
    
  2. 我们创建一个Web方法,并使用类对象检索所有参数值并调用WCF服务并传递参数值。

        function Export_Excel() {
                    debugger;
                    var Showdata = {};
                    Showdata.startdate = $("[id*=txtbegindate]").val();
                    Showdata.enddate = $("[id*=txtenddate]").val();
                    if ($('input[id*=RadioButton1]').is(":checked")) {
                        Showdata.radio = 1;
                    }
                    else if ($('input[id*=RadioButton2]').is(":checked")) {
                        Showdata.radio = 2;
                    }
                    $('#divProgress').show();
                    $.ajax({
                        type: "POST",
                        url: "Agent_HomePage.aspx/efgh",
                        data: '{xyz: ' + JSON.stringify(Showdata) + '}',
                        contentType: "application/json; charset=utf-8",
                        dataType: "json",
                        success: function (response) {
                            alert(response.d);
                        },
                        error: function (response) {
                            alert("Error");
                        }
                    });
                    $('#divProgress').hide();
                    $('div#OuterShowImageEdu').on('dialogclose', function (event) {
                        alert('closed');
                    });
                }
    
  3. 在WCF服务成功执行并返回结果后,结果转换为excel文件。

        [WebMethod]
            [ScriptMethod(UseHttpGet = false, ResponseFormat = ResponseFormat.Json)]
            public static string efgh(Showdata xyz)
            {
                string result = "";
                DataTable dt;
                DataSet ds = new DataSet();
                string filename = string.Empty;
                try
                {
                    string Sdate = string.Format("{0:dd-MMM-yyyy}", xyz.startdate);
                    string Edate = string.Format("{0:dd-MMM-yyyy}", xyz.enddate);
                    List<object> listfinal = new List<object>();
                    HelloServiceClient client = new HelloServiceClient();
                    string date = DateTime.Now.ToString("yyyy-dd-M--HH-mm-ss");
                    var path = Environment.GetFolderPath(Environment.SpecialFolder.CommonDesktopDirectory);
                    if (xyz.radio == "1")
                    {
                        dt = client.OracleConert_Excel(Convert.ToDateTime(Sdate), Convert.ToDateTime(Edate), dec_cod, 1);
                        filename = path + "\\Carrier_House_Manifest" + "_" + date + ".xls";
                        ExporttoExcel(dt, filename);
                    }
                    else { }
                }        
                catch (Exception ex)
                { result = ex.Message; }
                return result;
            }
    

    问题:
    我正在获取问题文件下载客户端机器。我正在尝试在客户端机器上下载文件但在服务器上下载文件。同样,相同的代码在我的本地环境中正常工作。

1 个答案:

答案 0 :(得分:0)

您可以使用SheetJS js-xlsx

使用generateAndDownloadXLSX下载页面中的Excel文件。