xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!

SheetJS

Error: Sheet names cannot exceed 31 chars

title + version

https://github.com/SheetJS/js-xlsx/issues/870

https://github.com/SheetJS/js-xlsx/commit/aff7b952720a466bb739ffbbe1cb5d1f9635dcb5

solution

https://support.office.com/en-us/article/Rename-a-worksheet-3F1F7148-EE83-404D-8EF0-9FF99FBAD1F9

export-excel.js

"use strict";
/**
 * @description export table to excel with HTML5 Bolb!
 * @author xgqfrms 2018.02.05
 * @param {String} type
 * @param {String} uid
 * @param {String} title
 * @param {Boolean} debug
 */
const exportExcel = (
    uid = `data-table`,
    title = `excel-title`,
    type = `xlsx`,
    debug = false
) => {
    if (debug) {
        console.log(`uid= `, uid);
        console.log(`type = `, type);
        console.log(`title = `, title);
    }
    // fixed bug: error =  Error: Sheet names cannot exceed 31 chars
    const short_mock_title = `xgqfrms`;
    let result = ``;
    try {
        let elt = document.querySelector(uid),
            wb = XLSX.utils.table_to_book(
                elt,
                {
                    // sheet: "Sheet JS",// excel sheet name
                    // sheet: title,
                    // fixed bug: error =  Error: Sheet names cannot exceed 31 chars
                    sheet: short_mock_title,
                }
            );
        if (debug) {
            console.log(`document.querySelector(uid) = `, elt);
        }
        result = XLSX.writeFile(
            wb,
            `${title}.${type}`,
            // `${short_mock_title}.${type}`,
        );
        // console.log(`result =`, result);
        // bolb 
        // bolb to url
        // true title name
        return result;
    } catch (error) {
        console.log(`export error = `, error);
    }
};

export {exportExcel};

export default exportExcel;


old version

"use strict";
/**
 * @description export table to excel with HTML5 Bolb!
 * @author xgqfrms 2018.02.05
 * @param {String} type
 * @param {String} uid
 * @param {String} title
 * @param {Boolean} debug
 */
const exportExcel = (
    uid = `data-table`,
    title = `excel-title`,
    type = `xlsx`,
    debug = false
) => {
    if (debug) {
        console.log(`uid= `, uid);
        console.log(`type = `, type);
        console.log(`title = `, title);
    }
    // fixed bug: error =  Error: Sheet names cannot exceed 31 chars
    const short_mock_title = `xgqfrms`;
    let result = ``;
    try {
        let elt = document.querySelector(uid),
            wb = XLSX.utils.table_to_book(
                elt,
                {
                    // sheet: "Sheet JS",// excel sheet name
                    // sheet: title,
                    // fixed bug: error =  Error: Sheet names cannot exceed 31 chars
                    sheet: short_mock_title,
                }
            );
        if (debug) {
            console.log(`document.querySelector(uid) = `, elt);
        }
        result = XLSX.writeFile(
            wb,
            `${title}.${type}`,
            // true title name
        );
        return result;
    } catch (error) {
        console.log(`error = `, error);
    }
};

export {exportExcel};

export default exportExcel;



download pdf & rename

seeing comments


download image & rename

seeing comments



原文地址:https://www.cnblogs.com/xgqfrms/p/9920588.html