vue+element的表格导出和导入

331 阅读1分钟

vue+element的表格导出和导入

1.表格导出成excell

这是我的代码

const submitForm = async (formEl: FormInstance | undefined) => {
    if (!formEl) return
    await formEl.validate((valid: any, fields: any) => {
        if (valid) {
            const sDay = new Date(ruleForm.value.dateValue[0])
            const eDay = new Date(ruleForm.value.dateValue[1])
            const sDate = sDay.getFullYear() + '-' + (Number(sDay.getMonth()) + 1) + '-' + sDay.getDate() + ' ' + '00:00:00'
            const eDate = eDay.getFullYear() + '-' + (Number(eDay.getMonth()) + 1) + '-' + eDay.getDate() + ' ' + '00:00:00'
            // console.log(sDate, eDate);
            window.open(`${requestList.SETTLEMENT_REPORT_OK}?&startTime=${sDate}&endTime=${eDate}`);
        } else {
            console.log(fields)
        }
    })
}

2表格导入

 <el-button type="success" @click="importBtn">导入报表</el-button>
 <input ref="uploadInput" style="display:none" type="file" class="dl-none" name="icon" @change="dealfilechange" />
//导入报表
const importBtn = () => {
    let oBtn = uploadInput.value as HTMLInputElement;
    oBtn.click();
}
// 导入物流单
const uploadInput = ref<HTMLElement | null>(null);
const dealfilechange = (e: Event) => {
    const input = e.target as HTMLInputElement;
    let files = input.files;
    if (files) {
        //console.log(files[0])
        let files2 = Array.from(files)
        const formdata = new FormData();
        formdata.append('file', files2[0])
        console.log(formdata,'===========');
        proxy.$axios.post(requestList.SETTLEMENT_IMPORT, formdata).then((res: any) => {
            if (res.data.code == 0) {
                getList()
            } else {
                proxy.$message({
                    message: res.data.tip,
                    type: "error",
                });
            }

        });
    }
}