public void LoadFromDataView(CellAddress beginAddress, ExcelTableStyles tableStyle, DataView dv, CreatingDataCellAction <DataRowView> creatingDataCellAction) { dv.NullCheck <ArgumentNullException>("数据源不能为空!"); TableDescription tbDesp = SpreadSheetAttributeHelper.GetTableDescription(dv.Table); tbDesp.BeginAddress = beginAddress; if (tableStyle == ExcelTableStyles.None && tbDesp.TableName.IsNullOrEmpty()) { this.LoadFromDataView(tbDesp, dv, creatingDataCellAction); } else { tbDesp.TableStyle = tableStyle; Table table; if (this.Tables.TryGetTable(tbDesp.TableName, out table) == false) { table = new Table(this, tbDesp); this.Tables.Add(table); } table.FillData(dv, tbDesp, creatingDataCellAction); } }
/// <summary> /// 创建文档,并将数填充到ExcelTable中 /// </summary> /// <param name="worksheetName">工作表名称</param> /// <param name="beginAddress">开始单元格</param> /// <param name="tableName">ExcelTable名称</param> /// <param name="dvData">数据源</param> /// <param name="tableStyle">ExcelTable 样式</param> /// <param name="isPrintHeaders"></param> /// <returns></returns> public static byte[] CreateDocumentAndTable(string worksheetName, string beginAddress, string tableName, System.Data.DataView dvData, ExcelTableStyles tableStyle) { WorkBook workbook = WorkBook.CreateNew(); WorkSheet worksheet = workbook.Sheets["sheet1"]; if (worksheetName.IsNotEmpty()) { worksheet.Name = worksheetName; } dvData.Table.TableName = tableName; worksheet.LoadFromDataView(CellAddress.Parse(beginAddress), tableStyle, dvData, null); //worksheet.LoadFromDataView(beginAddress, dvData, tableName, tableStyle); return(workbook.SaveAsBytes()); }
/// <summary> /// 创建文档,并将数填充到ExcelTable中 /// </summary> /// <param name="worksheetName">工作表名称</param> /// <param name="beginAddress">开始单元格</param> /// <param name="tableName">ExcelTable名称</param> /// <param name="dvData">数据源</param> /// <param name="tableStyle">ExcelTable 样式</param> /// <param name="isPrintHeaders"></param> /// <returns></returns> public static byte[] CreateDocumentAndTable(string worksheetName, string beginAddress, string tableName, System.Data.DataView dvData, ExcelTableStyles tableStyle) { WorkBook workbook = WorkBook.CreateNew(); WorkSheet worksheet = workbook.Sheets["sheet1"]; if (worksheetName.IsNotEmpty()) worksheet.Name = worksheetName; dvData.Table.TableName = tableName; worksheet.LoadFromDataView(CellAddress.Parse(beginAddress), tableStyle, dvData, null); //worksheet.LoadFromDataView(beginAddress, dvData, tableName, tableStyle); return workbook.SaveAsBytes(); }