Cách tải xuống tệp xlsx từ phản hồi của máy chủ trong javascript

Tôi có một Frontend React và Java Server bằng khung Micronaut. Trong BaseController của khung Micronaut của tôi, tôi đang tạo một tệp XLSX và sau đó gửi phản hồi để nó được tải xuống khi được gọi từ mã Frontend

Nội dung chính Hiển thị

  • Làm cách nào để tải xuống tệp XLSX bằng JavaScript?
  • Làm cách nào để tải xuống tệp xlsx?
  • Làm cách nào để lưu tệp. xlsx dưới dạng blob?
  • Làm cách nào để tải xuống tệp excel trong html?
  • Làm thế nào để bạn xuất excel bằng JavaScript?
  • Làm thế nào để tìm tải dữ liệu từ Excel bằng cách sử dụng JavaScript?
  • Làm cách nào để tải xuống bảng tính từ một trang web?
  • Làm cách nào để tải xuống Excel dưới định dạng XLS?
  • Làm thế nào để bạn tự động tải xuống một tệp từ một trang web bằng Excel?
  • Làm cách nào để xuất dữ liệu blob trong excel?
  • Làm cách nào để tải xuống tệp xlsx?
  • Làm cách nào để tải xuống tệp excel bằng React JS?
  • Làm cách nào để tải xuống tệp excel bằng jQuery?

điều khiển cơ sở

@Inject ExportService exportService

@Controller['/abc/api/v1']
@Slf4j
class BaseController implements CachingHandler, CommonUtils {
    @Post['/export/{name}']
    @Consumes[MediaType.APPLICATION_JSON]
    @Produces[MediaType.ALL]
    executeExporter[String name, @Nullable @Body LinkedHashMap payload] {
        def handler = { LinkedHashMap paramMap ->
            List paramMapList = paramMap.get["data"] as List
            Byte[] resultBytes = exportService.exportToXLSX[paramMapList, getFileName[getLookupValue[name], paramMap.get["key"] as String], true]
            log.info String.format["About to return XLSX file %s for %s",getFileName[getLookupValue[name], paramMap.get["key"] as String], name]
            return resultBytes
        }
        def results = handler.call[payload]
        InputStream inputStream = new ByteArrayInputStream[results]
        return new StreamedFile[inputStream, getFileName[getLookupValue[name], payload["key"] as String]]
    }
}

Xuất khẩu dịch vụ

Lưu ý. Sử dụng phương pháp chính của lớp này, tôi có thể tạo tệp TestReport.xlsx. XLSXExporter Lớp sử dụng thư viện Apache POI để tạo tệp XLSX. Sử dụng phương thức chính của lớp này, tôi có thể tạo tệp TestReport.xlsx. Lớp XLSXExporter sử dụng thư viện Apache POI để tạo tệp XLSX

@Prototype
@Slf4j
class ExportService implements CommonUtils {

    Byte[] exportToXLSX[List response, String fileName, boolean isDelete] {
        def headers = []
        try {
            headers = response[0].keySet[]
        } catch[Exception e] {
            e.printStackTrace[]
        }
        Map params = [:]
        params[Constants.HEADERS] = headers
        params[Constants.DATA] = response

        XLSXExporter xlsxExporter = new XLSXExporter[]
        boolean fileCreated = xlsxExporter.writeData[Constants.DEFAULT_SHEET_NAME, fileName, params]
        if [fileCreated] {
            Byte[] workbookContent = xlsxExporter.getFile[fileName, isDelete]
            return workbookContent
        } else {
            return new Byte[0]
        }
    }

    static void main[String[] args] {
        def param = []
        for [int i in 1..5] {
            def paramMap = [:]
            paramMap["key1"] = "data"+i
            paramMap["key2"] = "data"+i
            paramMap["key3"] = "data"+i
            param.add[paramMap]
        }
        ExportService exportService = new ExportService[]
        Byte[] resultBytes = exportService.exportToXLSX[param, "TestReport.xlsx", false]

        /**
            I am able to create a proper TestReport.xlsx file using this main method
        **/
    }
}

Tôi đã kiểm tra API trên Postman và nó có thể tải xuống tệp XLSX

Khi tôi gọi API xuất trên bằng ứng dụng của tôi [JavaScript], nó có thể tải xuống tệp XLSX nhưng nó không mở được

Mã JavaScript để gọi API xuất khẩu

const exportData = [filteredRows, activity] => {
    let filename = "TestReport.xlsx";
    return axios[{
        headers: {
            'Content-type': 'application/json'
         },
        accept:'application/x-www-form-urlencoded',
        url: '/abc/api/v1/export/'+ activity,
        method: 'post',
        data: {
            "key": "8575",
            "type":"userdetails",
            "data":filteredRows
        }
    }].then[resp => {
        var blob = resp.data;
        if[window.navigator.msSaveOrOpenBlob] {
            window.navigator.msSaveBlob[blob, filename];
        }
        else{
            var downloadLink = window.document.createElement['a'];
            downloadLink.href = window.URL.createObjectURL[new Blob[[blob], {type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"}]];
            downloadLink.download = filename;
            document.body.appendChild[downloadLink];
            downloadLink.click[];
            document.body.removeChild[downloadLink];
           }
    }];
}

Khi tôi nhấp vào Có trên hộp thoại, tôi nhận ra lỗi bên dưới và không có gì được hiển thị nên với tệp được tải xuống từ Postman

Cách nhập và xuất Excel XLSX bằng JavaScript

Thiết lập bảng tính JavaScript dự kiến

const url = window.URL.createObjectURL[
        new Blob[[response.data], {
          type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
        }]
      ];
const link = document.createElement["a"];
link.href = url;
link.setAttribute["download", filename];
 document.body.appendChild[link];
 link.click[];
 link.remove[];

Để giải quyết vấn đề về tệp XLSX tải xuống JavaScript, chúng tôi đã xem xét nhiều trường hợp

Làm cách nào để tải xuống tệp XLSX bằng JavaScript?

JavaScript Tải xuống tệp XLSX

  • const url = window. URL. tạoObjecturl [
  • Blob new [[Phản hồi. Data], {
  • Loại. Ứng dụng/VND. tài liệu văn phòng openxmlformats. bảng tínhml. tờ giấy,
  • }]
  • ];
  • const link = tài liệu. createdeLement [Hội A];
  • liên kết. href = url;
  • liên kết. setAttribution[Tải xuống, tên tệp];

Làm cách nào để tải xuống tệp xlsx?

Chọn Tệp> Lưu dưới định dạng> Tải xuống một bản sao. Nếu Excel yêu cầu mở hoặc lưu cửa sổ đang làm việc, hãy chọn Lưu. Lưu ý. Nếu bạn chọn Mở thay vì đã lưu, cửa sổ làm việc sẽ mở trong chế độ xem được bảo vệ

Làm cách nào để lưu tệp. xlsx dưới dạng blob?

var blob = blob mới [[dữ liệu], {loại. Ứng dụng/vnd. Văn phòng OpenXmlFormatS. Bảng tính // lập trình tạo một liên kết và nhấp vào nó. Var A = Tài liệu

Làm cách nào để tải xuống tệp excel trong html?

Ví dụ. Tải xuống bảng HTML ở định dạng Excel [. CSV]

  • Bước 1. Tạo bảng HTML
  • Bước 2. Add CSS property to create table type
  • Bước 3. Tạo nút tải xuống
  • Bước 4. Thực hiện chức năng JavaScript để tải xuống bảng HTML trong tệp CSV
  • Bước 5. JavaScript JavaScript Callingation with Onclick event

Làm thế nào để bạn xuất excel bằng JavaScript?

Cách nhập và xuất Excel XLSX bằng JavaScript

  • Thiết lập bảng tính JavaScript dự kiến
  • Add code excel
  • Add data into the input file Excel
  • Add a tia lửa
  • Add code excel

Làm thế nào để tìm tải dữ liệu từ Excel bằng cách sử dụng JavaScript?

JavaScript Excel - Nhập dữ liệu từ Excel Tệp Excel được đọc vào đối tượng Uint8array, sau đó được chuyển đến phương thức tải xuống được hiển thị bởi thư viện Excel. Khi bảng tính được tải vào đối tượng thư viện Excel, chúng ta có thể đọc từng ô giá trị và xây dựng một mảng JSON sẽ sử dụng nguồn dữ liệu IgGRid

Làm cách nào để tải xuống bảng tính từ một trang web?

Tải xuống bảng tính Excel từ một liên kết trong một trang web không phức tạp. chỉ cần nhấp vào liên kết và trình duyệt lưu tệp được liên kết vào máy tính. Tuy nhiên, bạn có thể hợp nhất lý hóa quy trình để máy tính tự động mở bảng tính trong chương trình thích hợp sau khi tải xuống hoàn tất

Làm cách nào để tải xuống Excel dưới định dạng XLS?

Chọn Tệp • Chọn Lưu dưới định dạng • Nhấn vào Lưu dưới định dạng Hộp thả xuống Mũi tên • Chọn Sổ làm việc Microsoft Excel \ • Nhập tên tệp ________. XLS • Chọn OK

Làm thế nào để bạn tự động tải xuống một tệp từ một trang web bằng Excel?

Nhập danh sách tệp sẽ được tải xuống từ Internet và tất cả các URL tương ứng với các tệp đó vào bảng Excel. Tải xuống thông tin

  • Chúng tôi phải thu thập và ghi nhật ký URL liên kết cho từng tệp trong một số tài liệu
  • Duyệt từng trang web và
  • Truy cập tùy chọn Tệp tải xuống được cung cấp trong mỗi trang web này

Làm cách nào để xuất dữ liệu blob trong excel?

Truy cập vào Bắt đầu Nhiệm vụ mới - Xuất LOB sang Hộp thoại Hộp thoại tại Hộp thoại Nhiệm vụ

  • Sau đó hiển thị thuật sĩ. Configure
  • Xuất khẩu
  • Sau đó, bạn có thể thấy kết quả xuất khẩu
  • Thông tin thêm về Mylobeditor - tool to export Batch MYSQL BLOB sang các tệp Excel. Thử nghiệm miễn phí 30 ngày US $ 75. 0

Làm cách nào để tải xuống tệp xlsx?

Để thực hiện điều này. Chọn Tệp> Lưu dưới định dạng> Tải xuống một bản sao. Nếu Excel yêu cầu mở hoặc lưu cửa sổ đang làm việc, hãy chọn Lưu. Lưu ý. Nếu bạn chọn Mở thay vì đã lưu, cửa sổ làm việc sẽ mở trong chế độ xem được bảo vệ. Chọn Tệp > Lưu dưới dạng > Tải xuống bản sao . Nếu Excel hỏi mở hay lưu sổ làm việc, hãy chọn Lưu. Ghi chú. Nếu bạn chọn Mở thay vì Lưu, sổ làm việc sẽ mở ở Dạng xem được Bảo vệ.

Làm cách nào để tải xuống tệp excel bằng React JS?

Để thực hiện điều này, hãy thực hiện các bước sau. .

Tạo dự án React JS

Cài đặt các nút mô-đun để xuất Excel

Tạo thành phần xuất excel

Create JSON data

Bao gồm các thành phần xuất excel trong ứng dụng tệp. js

Tải xuống dữ liệu Excel

Làm cách nào để tải xuống tệp excel bằng jQuery?

Tải xuống tệp Excel bằng AJAX trong JQuery bên trong chức năng tải xuống JavaScript, URL của tệp được truyền dưới dạng tham số cho chức năng JQuery AJAX. Bên trong hàm JQuery Ajax, sử dụng cuộc gọi XMLHTTPREQUEST [XHR], tệp PDF được tải xuống dưới dạng mảng byte [dữ liệu nhị phân]. Bên trong hàm DownloadFile JavaScript, URL của Tệp được truyền dưới dạng tham số cho hàm jQuery AJAX

Chủ Đề