0
我在添加excel文档作为附件到自定义列表时遇到了一些问题。我制作了一个事件接收器,它收集来自其他列表的数据并将数据放入Excel文档中。在分享点列表上创建excel文档作为附件
我所试图做的,以解决问题:
- 测试CreateContentRow(索引项),在一个单独的控制台应用程序(的作品),如果
- 检查那里有什么问题与其他获取信息列表(作品)
- 试图保存到文档库(该文件被保存,没有内容)
- 试图打开XLSX文件本身,如果有什么问题的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();
}
}
我在另一个列表上使用相同的方法,我在那里生成.docx文档,它工作得很好。根据其.xlsx或.docx文件的不同,我应该如何保存该文档?
当我调试单元格和行添加到sheetdata,但它不会被保存。有想法该怎么解决这个吗 ?