用于自定义列表的SharePoint备份工具
我有一个包含三个自定义列表的SharePoint 2013文档库。 每天一次,我想将自定义列表备份为excel文档。用于自定义列表的SharePoint备份工具
SharePoint 2013中是否有可以配置为循环任务的内置功能?
还是应该使用PowerShell或CSOM编写脚本或由Windows任务运行的应用程序?
回答:
你不要有任何OOB功能,要做到这一点,我有同样的REQ和我写了一个实用程序 - PFB代码 - 这会给你的O/P在.csv文件
类节目
{
private static DataTable dataTable;
private static SPList list;
静态无效的主要(字串[] 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)
{
如果(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网格=新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 funution
公共静态无效InitializeExcel(SPList列表,数据表_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")));
}
}
}
}
}
}
}
}
}
以上是 用于自定义列表的SharePoint备份工具 的全部内容, 来源链接: utcz.com/qa/257308.html