当我使用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文档
我希望这有帮助!