mirror of
https://gitee.com/nocobase/nocobase.git
synced 2025-05-05 05:29:26 +08:00
* chore: export xlsx command * chore: container service * chore: report export progress * chore: export * chore: performInsert * chore: export command * chore: base exporter * chore: limit option * chore: export * chore: export * chore: types * chore: ws socket with auth * refactor: refactor exporter, change addRows method to handleRow method to support row-by-row processing * chore: xlsx exporter * chore: base exporter * chore: export limit * chore: import action * chore: load websocket * chore: import action * chore: object to cli args * chore: import options * chore: import action * chore: import runner * chore: import action * chore: import options * chore: import options * chore: plugin load event * chore: test * chore: i18n * chore: i18n * chore: i18n * fix: ws auth status * chore: cache in data source * chore: load datasource * chore: import with field alias * fix: build * fix: test * fix: build * fix: import schema settings * fix: import action * fix: import progress * chore: template creator * fix: import error message * fix: import error message * chore: test * chore: workflow dispatch event * chore: export alias * fix: typo * chore: error render * fix: event error * chore: send message to tags * fix: test * fix: import action setting
47 lines
1.2 KiB
TypeScript
47 lines
1.2 KiB
TypeScript
/**
|
|
* This file is part of the NocoBase (R) project.
|
|
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
* Authors: NocoBase Team.
|
|
*
|
|
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
*/
|
|
|
|
import {
|
|
useAPIClient,
|
|
useRecord,
|
|
useBlockRequestContext,
|
|
useCollection_deprecated,
|
|
useCompile,
|
|
} from '@nocobase/client';
|
|
import { saveAs } from 'file-saver';
|
|
|
|
export const useDownloadXlsxTemplateAction = () => {
|
|
const { resource } = useBlockRequestContext();
|
|
const compile = useCompile();
|
|
const record = useRecord();
|
|
const { title } = useCollection_deprecated();
|
|
|
|
return {
|
|
async run() {
|
|
const { explain, importColumns } = record;
|
|
const { data } = await resource.downloadXlsxTemplate(
|
|
{
|
|
values: {
|
|
title: compile(title),
|
|
explain,
|
|
columns: compile(importColumns),
|
|
},
|
|
},
|
|
{
|
|
method: 'post',
|
|
responseType: 'blob',
|
|
},
|
|
);
|
|
|
|
const blob = new Blob([data], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });
|
|
saveAs(blob, `${compile(title)}.xlsx`);
|
|
},
|
|
};
|
|
};
|