jquery - 使用 jQuery 使用 AJAX 发送 Excel 数据

标签 jquery ajax excel

我有以下从数据库中提取数据的函数。 ajax 调用工作正常。如何将成功函数中的制表符分隔数据发送给用户?将内容类型设置为“application/vnd.ms-excel”不起作用。成功警报显示格式正确的数据。

     function SendToExcel() {
       $.ajax({
           type: "GET",
           url: "/Search.aspx",
           contentType: "application/vnd.ms-excel",
           dataType: "text",
           data: "{id: '" + "asdf" + "'}",
           success: function(data) {
              alert(data);
           },
           error: function (jqXHR, textStatus, errorThrown) {
              alert(jqXHR.responseText);
       }});
     }

我不想在浏览器中显示数据 - 我想将其发送到 Excel。

编辑:我找到了一种方法来做我想做的事。我没有将用户重定向到提示他们保存/打开 Excel 文件的新页面,而是在隐藏的 iframe 内打开该页面。这样,用户单击按钮,系统就会提示他们保存/打开 Excel 文件。没有页面重定向。是 Ajax 吗?不,但它解决了我遇到的真正问题。

这是我在单击按钮时调用的函数:

     function SendToExcel() {
        var dataString = 'type=excel' +
            '&Number=' + $('#txtNumber').val() + 
            '&Reference=' + $('#txtReference').val()

        $("#sltCTPick option").each(function (i) {
             dataString = dataString + '&Columns=' + this.value;
        });

        top.iExcelHelper.location.href = "/Reports/JobSearchResults.aspx?" + dataString;;
     }

最佳答案

AJAX 是...错误的选择。将用户重定向到服务器资源,该资源将使用正确的 MIME 类型发送数据,并让浏览器弄清楚如何处理它。

关于jquery - 使用 jQuery 使用 AJAX 发送 Excel 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/149821/

相关文章:

c# - 在实时(未保存)Excel 数据和 C# 对象之间建立接口(interface)的最快方式

jquery - 如何构建一个视差滚动,其中背景图像一旦滚动到并且内容移动

php - 使用随机名称将图像保存到数据库中

javascript - 单选组显示所选值的项目 jQuery

Javascript - 清除间隔和 setinterval 范围

excel - 在 Excel 用户窗体中,如何更新标签的标题?

jquery - 如何处理 Backbone.js 集合请求中的 204 响应

jquery - 通过 jQuery 和 Spring Boot 创建简单的注册表单

php - 从表 A 中选择选项后显示表 B 中的数据

.net - 如何在 Excel 中以编程方式设置一列以适应最长的文本?