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

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 cplex运行后参数报错是为什么
  • ¥15 之前不小心删了pycharm的文件,后面重新安装之后软件打不开了
  • ¥15 vue3获取动态宽度,刷新后动态宽度值为0
  • ¥15 升腾威讯云桌面V2.0.0摄像头问题
  • ¥15 关于Python的会计设计
  • ¥15 聚类分析 设计k-均值算法分类器,对一组二维模式向量进行分类。
  • ¥15 stm32c8t6工程,使用hal库
  • ¥15 找能接spark如图片的,可议价
  • ¥15 关于#单片机#的问题,请各位专家解答!
  • ¥15 博通raid 的写入速度很高也很低