如何使用EPPlus填充ExcelTable

我正在尝试修改现有的Excel工作表。 准确地说,我想添加几行到工作表中存在的表格(使用format作为表格创build)。 我试过了

var table = sheet.Tables["PositionsTable"]; 

但是这样创build的“表”只是实际表的元数据,我不能将行添加到表中。 如果我尝试

 sheet.Cells[table.Address.Address.ToString()].LoadFromCollection(positions); 

然后我没有得到表的格式。

任何人都知道我如何添加行到桌子上! 谢谢

在我们公司使用下面的东西。 基本上这个想法是,你想要输出的每个logging创build一个数据的对象数组加载到Excel中,然后调用LoadFromArrays。

  using (var excelPkg = new ExcelPackage()) { var name = "Sheet1"; //You will probably pass the columns to output into this function var headerArray = new string[] { "Column1", "Column2" }; var data = positions .Select(i => headerArray.Select(h => GetValue(i, h)).ToArray()); var ws = excelPkg.Workbook.Worksheets.Add(name); ws.Cells["A1"].LoadFromArrays( ((object[])headerArray).ToSingleItemEnumerable().Union(data)); ws.Row(1).Style.Font.Bold = true; //set header to bold excelPkg.SaveAs(stream, "password"); } private static object GetValue(Position item, string field) { //Your logic goes here return null; } public static IEnumerable<T> ToSingleItemEnumerable<T>(this T o) { yield return o; }