使用 EPPlus 将 Excel Sheet 格式化为 Table
Format a Excel Sheet as a Table using EPPlus
我有一个 .Net 核心应用程序,但我不熟悉将 EPPlus 库与 c# 结合使用。
我有一个 data-table 填充了我目前正在使用 EPPlus 插入到 excel sheet 中的数据。
我想知道在将数据添加到 sheet 之后是否有办法将 sheet 格式化为 table,而不是之前?
(就像您在 excel 中使用 Format a table 函数一样)
我的代码示例,仅填充 excel sheet:
var excelWorkSheet = excel.Workbook.Worksheets["WorkSheet1"];
using (SqlDataReader dr = cmd.ExecuteReader())
{
dt.Load(dr);
}
excelWorkSheet.Cells["A1"].LoadFromDataTable(dt, true);
excel.SaveAs(df);
请记住上面的 df 变量是文件目录类型,data-table 中的数据对于每个用户都是不同的,因此两个用户的大小永远不会相同。
是的,这可以通过 EPPlus 完成。如果你没有固定的 rows/columns.
,你可以使用 Dimension
using OfficeOpenXml.Table;
ExcelWorksheet ws = excel.Workbook.Worksheets[1];
//create a range for the table
ExcelRange range = ws.Cells[1, 1, ws.Dimension.End.Row, ws.Dimension.End.Column];
//add a table to the range
ExcelTable tab = ws.Tables.Add(range, "Table1");
//format the table
tab.TableStyle = TableStyles.Medium2;
我有一个 .Net 核心应用程序,但我不熟悉将 EPPlus 库与 c# 结合使用。 我有一个 data-table 填充了我目前正在使用 EPPlus 插入到 excel sheet 中的数据。 我想知道在将数据添加到 sheet 之后是否有办法将 sheet 格式化为 table,而不是之前? (就像您在 excel 中使用 Format a table 函数一样)
我的代码示例,仅填充 excel sheet:
var excelWorkSheet = excel.Workbook.Worksheets["WorkSheet1"];
using (SqlDataReader dr = cmd.ExecuteReader())
{
dt.Load(dr);
}
excelWorkSheet.Cells["A1"].LoadFromDataTable(dt, true);
excel.SaveAs(df);
请记住上面的 df 变量是文件目录类型,data-table 中的数据对于每个用户都是不同的,因此两个用户的大小永远不会相同。
是的,这可以通过 EPPlus 完成。如果你没有固定的 rows/columns.
,你可以使用Dimension
using OfficeOpenXml.Table;
ExcelWorksheet ws = excel.Workbook.Worksheets[1];
//create a range for the table
ExcelRange range = ws.Cells[1, 1, ws.Dimension.End.Row, ws.Dimension.End.Column];
//add a table to the range
ExcelTable tab = ws.Tables.Add(range, "Table1");
//format the table
tab.TableStyle = TableStyles.Medium2;