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.
Basecontroll
@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]]
}
}
Dịch vụ xuất khẩu
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.: Using the main method of this class I am able to create a TestReport.xlsx
file. XLSXExporter
class uses Apache POI
library to generate XLSX file.
@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 từ 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 một tệp XLSX nhưng nó không mở.
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];
}
}];
}
JavaScript Tải xuống tệp XLSX với ví dụ mã
Trong phiên này, chúng tôi sẽ thử giải quyết câu đố tệp XLSX tải xuống JavaScript bằng cách sử dụng ngôn ngữ máy tính. Mã theo sau phục vụ để minh họa điểm này.
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 = cửa sổ. URL. createdObjecturl [
- Blob mới [[Phản hồi. Dữ liệu], {
- Loại: Ứng dụng/VND.openxmlformats officedocument.spreadsheetml.sheet,
- }]
- ];
- 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 một tệp xlsx?
Chọn Tệp> Lưu dưới dạng> Tải xuống một bản sao. Nếu Excel yêu cầu mở hay lưu sổ làm việc, hãy chọn Lưu. Lưu ý: Nếu bạn chọn Mở thay vì lưu, 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 = new blob [[data], {type: Ứng dụng/vnd. OpenXmlFormatS Officationocument. Bảng tính // lập trình tạo một liên kết và nhấp vào nó: Var A = Document.
Làm cách nào để tải xuống một 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: Thêm thuộc tính CSS để tạo kiểu bảng.
- 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: Gọi chức năng JavaScript bằng sự kiện Onclick.
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 dự án bảng tính JavaScript.
- Thêm mã nhập excel.
- Thêm dữ liệu vào tệp Excel đã nhập.
- Thêm một tia lửa.
- Thêm mã xuất excel.
Làm thế nào tìm nạp 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 đượ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ẽ được sử dụng làm 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 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 dạng XLS?
Chọn Tệp • Chọn Lưu dưới dạng • Nhấp vào Lưu dưới dạng Kiểu Hộp thả xuống Mũi tên • Chọn Microsoft Excel Workbook \ • 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ý liên kết URL cho mỗi tệp trong một số tài liệu.
- Duyệt từng trang web và.
- Nhấp vào 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?
Nhấp vào Bắt đầu Nhiệm vụ mới - Xuất LOB sang Tệp Hộp thoại tại Hộp thoại Nhiệm vụ.
- Sau đó hiển thị thuật sĩ. Cấu hình.
- Export.
- Sau đó, bạn có thể thấy kết quả xuất khẩu.
- Thông tin thêm về Mylobeditor - công cụ để xuất khẩu Batch MYSQL BLOB sang các tệp Excel. Thử nghiệm miễn phí 30 ngày US $ 75.0.