【问题标题】:SharePoint Backup Tool for Custom Lists用于自定义列表的 SharePoint 备份工具
【发布时间】:2015-10-10 13:27:16
【问题描述】:

我有一个包含三个自定义列表的 SharePoint 2013 文档库。 每天一次,我想将自定义列表备份为 excel 文档。

SharePoint 2013 中是否有可配置为重复任务的内置功能?

或者应该使用 PowerShell 或 CSOM 编写脚本或应用程序,然后由 Windows 任务运行?

【问题讨论】:

    标签: powershell sharepoint sharepoint-2013 csom


    【解决方案1】:

    您没有任何 OOB 功能来执行此操作,我有相同的要求,我编写了一个实用程序 - PFB 代码 - 这将为您提供 .csv 文件中的 o/p

    类节目

    {

    私有静态DataTable dataTable;

    私有静态 SPList 列表;

    static void Main(string[] args)

    {

    试试

    {

    Console.WriteLine("Site Url: "); 
    
    string _siteUrl = Console.ReadLine(); 
    
    if (!string.IsNullOrEmpty(_siteUrl))
    
    { 
    
    SPSecurity.RunWithElevatedPrivileges(delegate() 
    
     { 
    
      using (SPSite site = new SPSite(_siteUrl)) 
    
       { 
    
         if (site != null) 
    
        { 
    
        SPWeb web = site.RootWeb; 
    
          if (web != null) 
    
          { 
    
    
           // Export List code segment
    
    
    
            Console.WriteLine("List Name:"); 
    
            string _listName = Console.ReadLine(); 
    
             if (!string.IsNullOrEmpty(_listName)) 
    
             { 
    
               list = web.Lists[_listName]; 
    
    
    
               if (list != null) 
    
               { 
    
                 dataTable = new DataTable(); 
    
    
    
                 //Adds Columns to SpreadSheet 
    
                  InitializeExcel(list, dataTable); 
    
    
    
                  string _schemaXML = list.DefaultView.ViewFields.SchemaXml; 
    
    
    
                  if (list.Items != null && list.ItemCount > 0) 
    
                  { 
    
                   foreach (SPListItem _item in list.Items) 
    
                   { 
    
                     DataRow dr = dataTable.NewRow(); 
    
                     foreach (DataColumn _column in dataTable.Columns) 
    
                     { 
    

    if (dataTable.Columns[_column.ColumnName] != null && _item[_column.ColumnName] != null)

                      { 
    

    dr[_column.ColumnName] = _item[_column.ColumnName].ToString();

                      } 
    
                     } 
    
                     dataTable.Rows.Add(dr); 
    
    
    
                    } 
    
                   } 
    
    
    
                 } 
    
              } 
    

    System.Web.UI.WebControls.DataGrid grid = new System.Web.UI.WebControls.DataGrid();

          grid.HeaderStyle.Font.Bold = true; 
    
          grid.DataSource = dataTable; 
    
          grid.DataBind(); 
    
    
    
          using (StreamWriter streamWriter = new StreamWriter("C:\\" + list.Title + ".xls", false, Encoding.UTF8)) 
    
          { 
    
           using (HtmlTextWriter htmlTextWriter = new HtmlTextWriter(streamWriter)) 
    
           { 
    
             grid.RenderControl(htmlTextWriter); 
    
           } 
    
          } 
    
    
    
             Console.WriteLine("File Created"); 
    
    
    
            #endregion 
    
           } 
    
          } 
    
        } 
    
        }); 
    
       } 
    
      } 
    
      catch (Exception ex) 
    
      { 
    
         Console.WriteLine("Error: " + ex.Message); 
    
      } 
    
    
    
      Console.ReadLine(); 
    
    } 
    

    // 创建excel函数

    public static void InitializeExcel(SPList list, DataTable _datatable)

    {

    if (list != null) 
    
    { 
    
     string _schemaXML = list.DefaultView.ViewFields.SchemaXml; 
    
     if (list.Items != null && list.ItemCount > 0) 
    
     { 
    
      foreach (SPListItem _item in list.Items) 
    
      { 
    
       foreach (SPField _itemField in _item.Fields) 
    
       { 
    
        if (_schemaXML.Contains(_itemField.InternalName)) 
    
        { 
    
          if (_item[_itemField.InternalName] != null) 
    
          { 
    
           if (!_datatable.Columns.Contains(_itemField.InternalName)) 
    
           { 
    
             _datatable.Columns.Add(new DataColumn(_itemField.StaticName, Type.GetType("System.String"))); 
    
           } 
    
          } 
    
         } 
    
        } 
    
       } 
    
      } 
    
     } 
    
    } 
    

    }

    【讨论】:

      猜你喜欢
      • 2023-04-07
      • 2018-10-24
      • 2020-07-31
      • 2021-12-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多