小编LaL*_*tie的帖子

JavaScript - 将 CSV 转换为 XLSX(最好不使用库)

正如标题所说,我目前有一个从 SharePoint 列表数据创建的 CSV 文件,为了将此信息显示为电子表格,我想将其转换为 Excel XLSX 文件。我更喜欢在不依赖第三方库的情况下执行此操作。起初,我开始使用 ActiveX 对象来尝试重新创建和/或将 CSV 保存为 XLSX,但是有一个限制,因为我无法在 IE 之外的其他浏览器中真正使用它。我在想使用 Blob 以某种方式转换它?这就是我被困的地方。

function createCsv(data) {
    var result = "";

    if (data == null || data.length == 0) {
        return;
    }

    var columnDelimiter = ',';
    var lineDelimiter = '\n';

    var keys = Object.keys(data[0]);

    // spreadsheet header

    result += keys.join(columnDelimiter);
    result += lineDelimiter;

    // spreadsheet data

    data.forEach(function (obj) {
        var count = 0;

        keys.forEach(function (key) {
            if (count > 0) {
                result += columnDelimiter;
            }

            result += …
Run Code Online (Sandbox Code Playgroud)

javascript csv excel sharepoint xlsx

8
推荐指数
1
解决办法
2万
查看次数

如何检查对象中的数组是否全部为空?

所以我需要传递一个对象,其中每个属性都是数组。该函数将使用保存在每个数组中的信息,但是我想通过检查每个数组的每个数组是否为空/空来检查整个对象是否为空(不只是没有属性)。到目前为止,我有:

function isUnPopulatedObject(obj) { // checks if any of the object's values are falsy
    if (!obj) {
        return true;
    }

    for (var i = 0; i < obj.length; i++) {
        console.log(obj[i]);
        if (obj[i].length != 0) {
            return false;
        }    
    }

    return true;  
}
Run Code Online (Sandbox Code Playgroud)

因此,例如,这将导致以上结果false

obj {
    0: Array[0]
    1: Array[1]
    2: Array[0]
}
Run Code Online (Sandbox Code Playgroud)

虽然这是我要检查的空白(确实如此):

obj {
    0: Array[0]
    1: Array[0]
    2: Array[0]
}
Run Code Online (Sandbox Code Playgroud)

上面的代码不起作用。提前致谢。

javascript arrays object

2
推荐指数
1
解决办法
273
查看次数

标签 统计

javascript ×2

arrays ×1

csv ×1

excel ×1

object ×1

sharepoint ×1

xlsx ×1