使用JavaScript将SharePoint文档库文件输出到CSV文件

使用JavaScript将SharePoint文档库文件输出到CSV文件,javascript,jquery,sharepoint,Javascript,Jquery,Sharepoint,我正在寻找如何将SharePoint文档库文件输出到csv文件。我找到了一个脚本,它让我几乎达到了目的,但我不知道如何更新代码,将信息导出到csv文件,而不是console.log()或alert()。我试过的每件事都违反了密码。我回顾了显示如何添加到CSV的其他JavaScript概念,但我再次指出,脚本概念破坏了我试图修改的代码。我正在使用的脚本。此外,脚本还输出文件名。我希望得到帮助,不仅可以输出文件名,还可以输出修改日期、创建日期和文件链接。我希望这是可能的,我感谢任何帮助实现这一概念。

我正在寻找如何将SharePoint文档库文件输出到csv文件。我找到了一个脚本,它让我几乎达到了目的,但我不知道如何更新代码,将信息导出到csv文件,而不是console.log()或alert()。我试过的每件事都违反了密码。我回顾了显示如何添加到CSV的其他JavaScript概念,但我再次指出,脚本概念破坏了我试图修改的代码。我正在使用的脚本。此外,脚本还输出文件名。我希望得到帮助,不仅可以输出文件名,还可以输出修改日期、创建日期和文件链接。我希望这是可能的,我感谢任何帮助实现这一概念。下面是我使用的脚本

jQuery(document).ready(function() {
var scriptbase = _spPageContextInfo.webServerRelativeUrl + "/_layouts/15/";
$.getScript(scriptbase + "SP.Runtime.js", function() {
    $.getScript(scriptbase + "SP.js", function() {
        $.getScript(scriptbase + "SP.DocumentManagement.js", createDocumentSet);
        });
    });
});
var docSetFiles;

function createDocumentSet() {
//Get the client context,web and library object.   
clientContext = new SP.ClientContext.get_current();
oWeb = clientContext.get_web();
var oList = oWeb.get_lists().getByTitle("Fact Sheets & Agreements");
clientContext.load(oList);
//Get the root folder of the library   
oLibraryFolder = oList.get_rootFolder();
var documentSetFolder = "sites/nbib/ep/Fact%20Sheets/";
//Get the document set files using CAML query   
var camlQuery = SP.CamlQuery.createAllItemsQuery();
camlQuery.set_folderServerRelativeUrl(documentSetFolder);
docSetFiles = oList.getItems(camlQuery);
//Load the client context and execute the batch   
clientContext.load(docSetFiles, 'Include(File)');
clientContext.executeQueryAsync(QuerySuccess, QueryFailure);
}

function QuerySuccess() {
//Loop through the document set files and get the display name   
var docSetFilesEnumerator = docSetFiles.getEnumerator();
while (docSetFilesEnumerator.moveNext()) {
    var oDoc = docSetFilesEnumerator.get_current().get_file();
    alert("Document Name : " + oDoc.get_name());
    console.log("Document Name : " + oDoc.get_name());
   }
}

function QueryFailure() {
console.log('Request failed - ' + args.get_message());


} 

chrome中的测试脚本示例

function QuerySuccess() {
            //Loop through the document set files and get the display name
            var csv = 'Document Name\n';
            var docSetFilesEnumerator = docSetFiles.getEnumerator();
            while (docSetFilesEnumerator.moveNext()) {
                var oDoc = docSetFilesEnumerator.get_current().get_file();
                //alert("Document Name : " + oDoc.get_name());
                //console.log("Document Name : " + oDoc.get_name());
                csv += oDoc.get_name();//+','   if more cloumns
                csv += "\n";
            }
            var hiddenElement = document.createElement('a');
            hiddenElement.href = 'data:text/csv;charset=utf-8,' + encodeURI(csv);
            hiddenElement.target = '_blank';
            hiddenElement.download = 'DocumentList.csv';
            hiddenElement.click();
        }

这很有效。我希望实现的目标。我需要做些什么调整才能让它在IE中正常工作。另外,您对我如何访问文档的url并将其输出到CSV有何想法?我试图做到这一点,但毫无乐趣。非常感谢你!挂起其他列以输出oDoc.get_name()+','+oDoc.get_serverRelativeUrl();这就成功了,我得到了一切。我还能够构建您提供的脚本,以便在IE(工作时使用的默认浏览器)中下载CSV。非常感谢你的帮助。令人惊叹的!!!我将投票支持这个答案。我有一个快速的问题,我认为这将是一个不需要大脑的问题,但我的大脑可以得到它的权利。要添加日期为“Created”和“Modified”的列,它将是oDoc.get_Created()和oDoc.get_Modified()?当我添加此项时,我得到一个错误,对象不支持属性或方法“get_created()或get_modified()。将此信息添加到CSV是否不正确?我使用console.log筛选数据后计算出了日期。要更改日期,名称如下:oDoc.get_timeCreated()和oDoc.get_timeLastModified().现在我已经为我的用户提供了所需的一切。我相信这个问题已经结束。感谢过去的帮助。