C# 如何使用ajax调用将Datatable导出到Excel文件
我已经试过了,当我通过SOAP API调用时,我可以下载excel文件,但是当我从ajax调用它时,我没有收到任何错误,我也无法下载excel文件 Ajax/JavaScript代码:C# 如何使用ajax调用将Datatable导出到Excel文件,c#,jquery,asp.net,ajax,excel,C#,Jquery,Asp.net,Ajax,Excel,我已经试过了,当我通过SOAP API调用时,我可以下载excel文件,但是当我从ajax调用它时,我没有收到任何错误,我也无法下载excel文件 Ajax/JavaScript代码: function getWorkOrders(wono) { $.ajax({ dataType: "json", type: "POST", url: 'AdminWeb.asmx/GetWorkOrdersDetails'
function getWorkOrders(wono) {
$.ajax({
dataType: "json",
type: "POST",
url: 'AdminWeb.asmx/GetWorkOrdersDetails',
data: 'id=0&wono=' + wono,
async: true,
success: function (data) {
},
error: function (jqXHR, textStatus, errorThrown) {
}
});
}
方法:
DataTable dtResult = DataAccess.GetDataTableFromStoredProcedure("sp_Get_WO", Parameters);
//dt = city.GetAllCity();//your datatable
string attachment = "attachment; filename=city.xls";
HttpContext.Current.Response.ClearContent()
HttpContext.Current.Response.AddHeader("content-disposition", attachment);
HttpContext.Current.Response.ContentType = "application/vnd.ms-excel";
string tab = "";
foreach (DataColumn dc in dtResult.Columns)
{
HttpContext.Current.Response.Write(tab + dc.ColumnName);
tab = "\t";
}
HttpContext.Current.Response.Write("\n");
int i;
foreach (DataRow dr in dtResult.Rows)
{
tab = "";
for (i = 0; i < dtResult.Columns.Count; i++)
{
HttpContext.Current.Response.Write(tab + dr[i].ToString());
tab = "\t";
}
HttpContext.Current.Response.Write("\n");
}
HttpContext.Current.Response.End();
DataTable dtResult=DataAccess.getdatatablefromstoredprocesse(“sp_Get_WO”,参数);
//dt=city.GetAllCity()//您的数据表
字符串attachment=“attachment;filename=city.xls”;
HttpContext.Current.Response.ClearContent()
HttpContext.Current.Response.AddHeader(“内容处置”,附件);
HttpContext.Current.Response.ContentType=“应用程序/vnd.ms excel”;
字符串选项卡=”;
foreach(dtResult.Columns中的数据列dc)
{
HttpContext.Current.Response.Write(tab+dc.ColumnName);
tab=“\t”;
}
HttpContext.Current.Response.Write(“\n”);
int i;
foreach(dtResult.Rows中的数据行dr)
{
tab=“”;
对于(i=0;i
请至少提供一个或一些代码。在IIS中,这可能是一种Mime类型的东西,当您通过Ajax下载时,也会说明您尝试了哪些web浏览器,以及Wireshark/Netmon跟踪SOAP@JeremyThompson请检查上面的代码。@JeremyThompson我想导出带有特定搜索数据的excel文件,我不想下载已经存在的文件您的ajax调用不会给您任何错误,因为您没有错误回调defined@Marco我也尝试过错误回调,请至少提供一个或一些代码。在IIS中,这可能是一种Mime类型的东西,当您通过Ajax下载时,也会说明您尝试了哪些web浏览器,以及Wireshark/Netmon跟踪SOAP@JeremyThompson请检查上面的代码。@JeremyThompson我想导出带有特定搜索数据的excel文件,我不想下载已经存在的文件您的ajax调用不会给您任何错误,因为您没有错误回调defined@Marco我也尝试过错误回调