asp.net OpenXML insert data to cell -


i've been following guide https://msdn.microsoft.com/en-us/library/office/cc861607.aspx insert string cell in excel file. example confusing, , when copy/paste doesn't work. i'm looking simple example insert a value cell like:

spredsheet.insertcell("a", 1, string value) 

i use simple code example showing me how insert data cell using openxml in asp.net.

i tried code post using openxml insert datatable excel, creates broken excel file. how code without helper functions link

using (spreadsheetdocument mydoc = spreadsheetdocument.             create(server.mappath("/data.xls"), spreadsheetdocumenttype.workbook))         {             workbookpart workbookpart = mydoc.addworkbookpart();             workbookpart.workbook = new workbook();              // add worksheetpart workbookpart.             worksheetpart worksheetpart = workbookpart.addnewpart<worksheetpart>();             //add column names first row               row header = new row();             header.rowindex = (uint32)1;             sheetdata sheetdata = new sheetdata();                   cell headercell = createtextcell(1, 1, text);                 header.appendchild(headercell);              sheetdata.appendchild(header);             // add workbookpart document.             worksheetpart.worksheet = new worksheet(sheetdata);         } 

the msdn example using spreadsheetdocument.open opens existing file creating brand new file spreadsheetdocument.create. when create brand new file there elements must create in order file valid. elements missing sheets , sheet elements.

sheets stored separately sheetdata need create sheet inside sheets , associate sheets worksheetpart.

this can done so:

sheets sheets = mydoc.workbookpart.workbook.appendchild(new sheets()); sheets.appendchild(new sheet() {     id = mydoc.workbookpart.getidofpart(mydoc.workbookpart.worksheetparts.first()),     sheetid = 1,     name = "sheet1" }); 

so full code listing like:

using (spreadsheetdocument mydoc = spreadsheetdocument.        create(server.mappath("/data.xls"), spreadsheetdocumenttype.workbook)) {     workbookpart workbookpart = mydoc.addworkbookpart();     workbookpart.workbook = new workbook();      // add worksheetpart workbookpart.     worksheetpart worksheetpart = workbookpart.addnewpart<worksheetpart>();     //add column names first row       row header = new row();     header.rowindex = (uint32)1;     sheetdata sheetdata = new sheetdata();      cell headercell = createtextcell(1, 1, text);     header.appendchild(headercell);      sheetdata.appendchild(header);     // add workbookpart document.     worksheetpart.worksheet = new worksheet(sheetdata);      //this part missing code     sheets sheets = mydoc.workbookpart.workbook.appendchild(new sheets());     sheets.appendchild(new sheet()     {         id = mydoc.workbookpart.getidofpart(mydoc.workbookpart.worksheetparts.first()),         sheetid = 1,         name = "sheet1"     }); } 

Comments