繁体   English   中英

C#OpenXml Excel创建-我可以将其设置为“格式化为表格”吗?

[英]C# OpenXml Excel Creation - can I set it to “Format as table”?

当我使用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文档 测试程序输出的示例

我希望这有帮助!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM