Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- PersistentVolume
- 맥 #나스 #SMA
- 라우터 #NAT #포트 #포트포워딩 #유동고정아이피 #DHCP
- vworld
- vuetify3
- mixedcontent
- localstorage
- nextjs
- postman
- v-combobox
- MPA
- basepath
- Yarn
- PersistentVolumeClaim
- vue3
- sesstionstorage
- vuejs #pinia #vuetify3
- javascript #컴파일 #인터프리터
- MongoDB
- JavaScript
- github action #tistory
- browserstorage
- kubernetes
- javascript #localstorage #stringify #parse
- OpenLayers
- 인터넷 #클라이언트 #서버 #포트 #ipadress #domainname
- vuejs
- vue #vue-router
- react
- CKEditor4
Archives
- Today
- Total
月亮
[vue.js] excel 다운로드 구현하기 본문
1. request
헤더를 blob로 받기
excelDownload: (url, param) => {
return axios.get(`${API_URL}${url}`, {
params: param,
responseType: "blob",
});
},
const downloadExcel = () => {
data.value.loading = true;
commonService.download({ data.value.param }).then(
(d) => {
if (d.status === 200) {
// 파일 이름 추출
const contentDisposition = d.headers["content-disposition"];
const filename = contentDisposition.split("filename=")[1];
const url = window.URL.createObjectURL(new Blob([d.data]));
const link = document.createElement("a");
link.href = url;
link.setAttribute("download", filename);
document.body.appendChild(link);
link.click();
// 링크 요소 삭제
document.body.removeChild(link);
data.value.loading = false;
} else {
store.setSnackbarMsg({ text: d.data.errorMessage, result: 500 });
data.value.loading = false;
}
}
);
};
<v-btn-download @click="downloadExcel" :loading="data.loading" block>
엑셀 다운로드
</v-btn-download>
출처:
https://stackoverflow.com/questions/38975718/how-to-download-excel-xls-file-from-api-in-postman
반응형
'vue.js' 카테고리의 다른 글
[vuetify3] v-combobox 사용자 입력 비활성화 (0) | 2023.07.26 |
---|---|
[vue.js] 헷갈리는 부분 정리 (작성중...) (0) | 2023.06.20 |
[vue.js] vue3 + vuetify3 세팅 (vue-cil+webpack+vuetify3) , 디렉토리 구성 🌿 (0) | 2023.06.20 |
[vue.js] vue3에서 filter 사용하기🤔 (0) | 2023.05.08 |
[vue.js+vuetify3+pinia] 전역 모달 (Alert dialog, Confirmation Modal) 만들기 🤔 (0) | 2023.04.12 |
Comments