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,但它不會被保存。有想法該怎麼解決這個嗎 ?