2023 年 4 月 1 日

nodejs程式寫著

            //讀取檔案
            //
            //console.log(file_data);
            Datas.message = "OK";
            let file_data = fs.readFileSync(stream.path, { encoding: 'base64' });//.toString('hex');
            let result = []
            
            Datas.data = file_data;//.toString();

前端javascript寫著

    function base64ToArrayBuffer(base64) {
        var binaryString = window.atob(base64);
        var binaryLen = binaryString.length;
        var bytes = new Uint8Array(binaryLen);
        for (var i = 0; i < binaryLen; i++) {
            var ascii = binaryString.charCodeAt(i);
            bytes[i] = ascii;
        }
        return bytes;
    }
    function saveByteArray(reportName, byte) {
        var blob = new Blob([byte], { type: "application/vnd.ms-excel" });
        var link = document.createElement('a');
        link.href = window.URL.createObjectURL(blob);
        var fileName = reportName;
        link.download = fileName;
        link.click();
    }
    function ExportExcel() {
        //var Week_Name = $("#ddlWeekday_RangeID").val();
        var id = ............
        ......
        ......
        ......
        $.post("./DataHandler", { Function: "Excel_Report", Way: "GenExcel", id: ............

            var sampleArr = base64ToArrayBuffer(data.Data.data);
            saveByteArray("text.xlsx", sampleArr);


        });




    }