const ExcelJS = require('exceljs');

const exportTableData = function(columns,data){

    return columns + data
}

const downloadTemplate = function (name){
    var a = document.createElement("a"); //创建一个<a></a>标签
    a.href = `/template/${name}.xlsx`; // 给a标签的href属性值加上地址，注意，这里是绝对路径，不用加 点.
    a.download = `${name}-导入模板.xlsx`; //设置下载文件文件名，这里加上.xlsx指定文件类型，pdf文件就指定.fpd即可
    a.style.display = "none"; // 障眼法藏起来a标签
    document.body.appendChild(a); // 将a标签追加到文档对象中
    a.click(); // 模拟点击了a标签，会触发a标签的href的读取，浏览器就会自动下载了
    a.remove(); // 一次性的，用完就删除a标签
}


//下载xls文件
const downloadTemplatexls = function (name){
    var a = document.createElement("a"); //创建一个<a></a>标签
    a.href = `/template/${name}.xls`; // 给a标签的href属性值加上地址，注意，这里是绝对路径，不用加 点.
    a.download = `${name}-导入模板.xls`; //设置下载文件文件名，这里加上.xlsx指定文件类型，pdf文件就指定.fpd即可
    a.style.display = "none"; // 障眼法藏起来a标签
    document.body.appendChild(a); // 将a标签追加到文档对象中
    a.click(); // 模拟点击了a标签，会触发a标签的href的读取，浏览器就会自动下载了
    a.remove(); // 一次性的，用完就删除a标签
}
//下载xlsm文件
const downloadTemplatexlsm = function (name){
    var a = document.createElement("a"); //创建一个<a></a>标签
    a.href = `/template/${name}.xlsm`; // 给a标签的href属性值加上地址，注意，这里是绝对路径，不用加 点.
    a.download = `${name}-导入模板.xlsm`; //设置下载文件文件名，这里加上.xlsx指定文件类型，pdf文件就指定.fpd即可
    a.style.display = "none"; // 障眼法藏起来a标签
    document.body.appendChild(a); // 将a标签追加到文档对象中
    a.click(); // 模拟点击了a标签，会触发a标签的href的读取，浏览器就会自动下载了
    a.remove(); // 一次性的，用完就删除a标签
    }
//江河水模板下载
const downloadRiverTemplate = function (name){
    var a = document.createElement("a"); //创建一个<a></a>标签
    a.href = `/template/${name}.xlsx`; // 给a标签的href属性值加上地址，注意，这里是绝对路径，不用加 点.
    a.download = `${name}-导入模板.xlsx`; //设置下载文件文件名，这里加上.xlsx指定文件类型，pdf文件就指定.fpd即可
    a.style.display = "none"; // 障眼法藏起来a标签
    document.body.appendChild(a); // 将a标签追加到文档对象中
    a.click(); // 模拟点击了a标签，会触发a标签的href的读取，浏览器就会自动下载了
    a.remove(); // 一次性的，用完就删除a标签
}

const excelToJson = async function (buffer){
    const wb = new ExcelJS.Workbook();
    await wb.xlsx.load(buffer);
    const worksheet = wb.worksheets[0];
    const res = [];
    worksheet.eachRow((row)=>{
        const cs = [];
        row.eachCell({ includeEmpty: true },(cell)=>{
            var value = cell.value;
            if(value!= undefined && typeof value == "object" && !(value instanceof Date)){
                value = value.text
            }
            cs.push(value)
        })
        res.push(cs)
    })
    console.log(res)
    return res;
}
export {
    exportTableData,
    downloadTemplate,
    excelToJson,
    downloadTemplatexls,
    downloadTemplatexlsm,
    downloadRiverTemplate,
}


























