C# OpenXml Excel Creation - 我可以将它设置为 "Format as table"吗?

标签 c# excel openxml openxml-sdk

当我使用 DocumentFormat.OpenXml 创建 Excel 工作表时,有什么方法可以指定我希望将一系列单元格(实际上是整个工作表)置于“格式为表格”( CTRL+T) 代表?或者这在 OpenXML 库中不可用?我似乎无法找到任何一种说法。谢谢。

最佳答案

虽然我很确定您可以完全使用 OpenXML 库来做您想做的事情,但您也可以选择包括 ClosedXML 库,这使得使用 Excel 变得更加容易。

如果我正确理解你的问题,你只是在寻找某种数据集并将其作为表格转储到 Excel 文件中,在这种情况下,如果你可以将数据归结为 C# 中的 DataTable以下应该对你有帮助

//create some dummy table for this test
DataTable table = new DataTable();
//make a few columns
table.Columns.AddRange(
    new DataColumn[] { new DataColumn("Column 1",typeof(int)),
    new DataColumn("Column 2", typeof(int)),
    new DataColumn("Column 3", typeof(int)) }
);
//populate with some randomness
Random r = new Random();
for (int i = 0; i < 100; i++)
{
    var newRow = table.NewRow();
    newRow[0] = r.Next(0, 10);
    newRow[1] = r.Next(0, 10);
    newRow[2] = r.Next(0, 10);
    table.Rows.Add(newRow);
}
//create workbook
XLWorkbook wb = new XLWorkbook();
var sheet = wb.AddWorksheet("My datatable");
//just showing how to add a bit of extra data to the sheet, not required
sheet.Cell(1, 1).SetValue<string>("Title: this is just a test");
sheet.Cell(1, 3).SetValue<string>("Date: " + DateTime.Now);
//dump table in sheet
sheet.Cell(2, 1).InsertTable(table);
sheet.Columns().AdjustToContents();
wb.SaveAs(@"c:\test\dtable.xlsx",false);

这将导致以下 Excel 文档 example of output from test program

希望对您有所帮助!

关于C# OpenXml Excel Creation - 我可以将它设置为 "Format as table"吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42727909/

相关文章:

c# - 泛型类型参数和 Nullable 方法重载

javascript - 我没有从 Angular 前端访问后端 Controller 中的 api 路由。我做错了什么?

c# - 使用 OpenXML 将背景图像添加到 Excel

c# - 使用 OpenXML 更改段落中的颜色文本

c# - RESTful API 反序列化错误

c# - EF 核心 SQLException : Cannot insert explicit value for identity column in table 'MenuCategories' when IDENTITY_INSERT is set to OFF

excel - VBA : Store value to variable

excel - 从Excel中的括号中提取文本

excel - 带有日期的 Excel Open XML 的最小样式表?

java - Apache POI - 基于公式的条件格式的主题颜色 (XSSFFontFormatting)