m0_73269192 2023-02-16 09:58 采纳率: 43.4%
浏览 46
已结题

ajax请求到数据怎么导出excel


$.ajax({
                type: "post",
                url: ctx+"/Servlet/Record/exportExcel",
                data: {},
                dataType: "json",
                success: function (data) {
                        
                }
            });

已经能请求到后端的数据,怎么再给它导出成excel

  • 写回答

6条回答 默认 最新

  • 程序yang 全栈领域优质创作者 2023-02-16 10:36
    关注

    仅供参考:
    要将数据导出为Excel,您可以使用一些JavaScript库来生成Excel文件,例如SheetJS、ExcelJS和js-xlsx等。这些库允许您使用JavaScript编程方式创建和导出Excel文件。

    在您的示例代码中,您可以在Ajax请求成功后,使用这些库将数据导出为Excel文件,如下所示:

    $.ajax({
        type: "post",
        url: ctx+"/Servlet/Record/exportExcel",
        data: {},
        dataType: "json",
        success: function (data) {
            // 从数据中创建工作簿
            var workbook = XLSX.utils.book_new();
            var sheet = XLSX.utils.json_to_sheet(data); // 将JSON数据转换为Excel表格
    
            // 将表格添加到工作簿
            XLSX.utils.book_append_sheet(workbook, sheet, "Sheet1");
    
            // 导出Excel文件
            var wbout = XLSX.write(workbook, { bookType: 'xlsx', bookSST: true, type: 'binary' });
            saveAs(new Blob([s2ab(wbout)], { type: "application/octet-stream" }), 'export.xlsx');
        }
    });
    
    // 将二进制字符串转换为字节数组
    function s2ab(s) {
        var buf = new ArrayBuffer(s.length);
        var view = new Uint8Array(buf);
        for (var i = 0; i != s.length; ++i) view[i] = s.charCodeAt(i) & 0xFF;
        return buf;
    }
    

    在上面的代码中,我们使用了SheetJS库将JSON数据转换为Excel表格,并使用FileSaver.js库中的saveAs()函数将Excel文件保存到本地磁盘中。

    需要注意的是,您需要将这些库引入到您的HTML文件中,例如:

    
    <script src="https://cdnjs.cloudflare.com/ajax/libs/xlsx/0.16.8/xlsx.full.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/FileSaver.js/2.0.2/FileSaver.min.js"></script>
    

    希望这可以帮助您将数据导出为Excel文件。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

问题事件

  • 系统已结题 2月24日
  • 已采纳回答 2月16日
  • 创建了问题 2月16日

悬赏问题

  • ¥15 想问一下树莓派接上显示屏后出现如图所示画面,是什么问题导致的
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
  • ¥500 火焰左右视图、视差(基于双目相机)
  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号