创造excel文件作为附件对sharepoint列表
-
28-09-2019 - |
题
我已经有了一些问题加入一个excel文件作为附件的一个定义清单。我做了一个eventreceiver其收集数据,从其他清单,并把数据并入一个excel文件。
什么我试着做正确的问题:
- 测试CreateContentRow(索引项目)在一个单独的控制台应用程序(工作)
- 检查,如果有什么不对获取信息的其他清单(工作)
- 试图保存一个文件图书馆(该文件被保存没有的内容)
- 试图打开的阅读和文件本身如果有什么问题与xml(没有定义xml加的)。
代码工作得很好,但是文件保存,但这是完全相同的模板,没有内容的增加。
using (var memory = new MemoryStream())
{
var binary = template.OpenBinary();
memory.Write(binary, 0, binary.Length);
using (var document = SpreadsheetDocument.Open(memory, true))
{
var workbookPart = document.WorkbookPart;
var worksheetparts = workbookPart.WorksheetParts;
var worksheetpart = worksheetparts.FirstOrDefault();
var sheetData = worksheetpart.Worksheet.GetFirstChild<SheetData>();
var index = 2;
foreach (var item in items)
{
var row = CreateContentRow(index, item);
index++;
sheetData.AppendChild(row);
}
properties.ListItem.Attachments.Add("name" + string.Format("{0:yyyy-MM-dd_HHmmss}", DateTime.Now) + ".xlsx", memory.ToArray());
properties.ListItem.Update();
}
}
我用同样的方法在另一个列表那里我产生。word文档在那里,它工作得很好。是有很大的差别在我应该如何保存的文件的根据,如果其。您或.尝试?
当我试的细胞和行添加到sheetdata,但它没有得到保存。任何想法,如何解决这个问题?
解决方案
为了获得保存的内容,我需要增加节省的发言。
wspart.Worksheet.Save();
document.WorkbookPart.Workbook.Save();
当我加了在线上之前添加attachemnt一切工作,因为这是应该的。
不隶属于 StackOverflow