From 3a1e8eb2ce7da44303da98a3cd4d39218a23e100 Mon Sep 17 00:00:00 2001 From: tangwei Date: Tue, 3 Nov 2020 17:03:42 +0800 Subject: [PATCH 1/2] feat: add excel-export --- docs/functions/excelExport.md | 13 +++++++++++++ package-lock.json | 2 +- src/excelExport.ts | 12 ++++++++++++ 3 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 docs/functions/excelExport.md create mode 100644 src/excelExport.ts diff --git a/docs/functions/excelExport.md b/docs/functions/excelExport.md new file mode 100644 index 0000000..b459c69 --- /dev/null +++ b/docs/functions/excelExport.md @@ -0,0 +1,13 @@ +--- +title: excelExport +toc: menu +--- + +# excelExport +通过后端返回的blob数据导出为excel,只支持xlsx +```typescript +import { excelExport } from '@mlz/doraemon'; +const debug = {hello: "world"}; +const blob = new Blob([JSON.stringify(debug, null, 2)], {type : 'application/json'}); +excelExport(blob, '导出数据'); // 导出数据.xlsx +``` diff --git a/package-lock.json b/package-lock.json index 43ec6c3..6d7c45c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "@mlz/doraemon", - "version": "0.8.0", + "version": "0.10.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/src/excelExport.ts b/src/excelExport.ts new file mode 100644 index 0000000..b32059b --- /dev/null +++ b/src/excelExport.ts @@ -0,0 +1,12 @@ + +function excelExport(blob_data, filename:string) { + const a = document.createElement('a'); + a.href = window.URL.createObjectURL(blob_data); + a.download = `${filename}.xlsx`; + a.style.display = 'none'; + document.body.appendChild(a); + a.click(); + document.body.removeChild(a); +} + +export default excelExport; From 272d1adc4cdcce19f81cd831d15d09fddb23e9eb Mon Sep 17 00:00:00 2001 From: tangwei Date: Tue, 3 Nov 2020 17:30:31 +0800 Subject: [PATCH 2/2] fix: index file --- src/index.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/index.ts b/src/index.ts index 565344e..da696c0 100644 --- a/src/index.ts +++ b/src/index.ts @@ -9,6 +9,7 @@ import digitalToCash from './digitalToCash'; import copyTextToClipboard from './copyTextToClipboard'; import limitStringToTarget from './limitStringToTarget'; import removeUrlParams from './removeUrlParams'; +import excelExport from './excelExport'; export { getUrlQuery, @@ -22,6 +23,7 @@ export { copyTextToClipboard, limitStringToTarget, removeUrlParams, + excelExport, }; export const doraemaon = { @@ -36,6 +38,7 @@ export const doraemaon = { copyTextToClipboard, limitStringToTarget, removeUrlParams, + excelExport, }; export default doraemaon;