簡體   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