2017-03-10 1 views
0

DocumentFormat.OpenXml을 사용하여 Excel 시트를 만들 때 어떤 셀 범위 (실제로는 전체 시트)를 "테이블 형식"(CTRL + T) 표현으로 지정하려는 방법이 있습니까? 아니면 OpenXML 라이브러리에서 사용할 수 없습니까? 어느 쪽이라도 말하는 것을 찾을 수없는 것 같습니다. 고맙습니다.C# OpenXml Excel Creation - "Format as table"로 설정할 수 있습니까?

답변

0

OpenXML 라이브러리만으로 원하는 것을 할 수 있다고 확신하지만 Excel을 사용하는 ClosedXML 라이브러리를 포함시킬 수 있습니다.

질문을 올바르게 이해하면 일종의 데이터 세트를 가져 와서 Excel 파일의 테이블로 덤프하면됩니다.이 경우 데이터를 DataTable으로 종결 할 수 있다면 C#을 다음이 다음 엑셀 문서 example of output from test program

나는 희망이 도움이 될 것입니다 당신에게

//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); 

을 도움이 될 것입니다!