i have .aspx page contains gridview
, asp.net button export gridview
excel. works fine. thing when export gridview
excel
(.xls) rows gets exported.
the excel
file contains prices of products. these prices updated
user , later on uploaded
gridview
, accordingly prices of products updated in database.
when try upload exported excel(.xls)
gridview
says 'error: external table not in expected format'. when same file saved option 'save as' works fine.
any suggestions?
export gridview excel(.xls)
protected void btnexportedit_click(object sender, eventargs e) { gridview2.allowpaging = false; gridview2.allowsorting = false; response.clear(); response.addheader("content-disposition", "attachment;filename=terapeakdeviceprices_edit.xls"); response.charset = ""; response.contenttype = "application/vnd.xls"; //response.contenttype = "application/text"; system.io.stringwriter stringwrite = new system.io.stringwriter(); system.web.ui.htmltextwriter htmlwrite = new htmltextwriter(stringwrite); gridview2.datasourceid = sqlusers.id;//sqldevicepricelistexport.id; gridview2.databind(); stringwriter swriter = new stringwriter(); htmltextwriter hwriter = new htmltextwriter(swriter); gridview2.rendercontrol(hwriter); string style = @"<style> .textmode {mso-number-format:general} </style>"; response.write(style); response.write(swriter.tostring()); response.flush(); response.end(); }
upload exported excel(.xls) gridview.
using system.data.oledb; protected void btnuploadold_click(object sender, eventargs e) { if (fupcsv.hasfile) { try { oledbconnection objconn = null; string filesavepath = ""; filesavepath = commonfunc.getfilename(path.combine(server.mappath("~/" + "uploadedfiles"), fupcsv.filename)); fupcsv.saveas(filesavepath); hdnfileuploaded.value = filesavepath; var connectionstring = string.format("provider=microsoft.ace.oledb.12.0;data source={0}; extended properties=excel 12.0;", filesavepath); objconn = new oledbconnection(connectionstring); objconn.open(); datatable columndt = objconn.getoledbschematable(oledbschemaguid.tables, null); string[] excelsheets = new string[columndt.rows.count]; if (columndt.rows.count > 0) { int = 0; // add sheet name string array. foreach (datarow row in columndt.rows) { excelsheets[i] = row["table_name"].tostring(); i++; } } // var adapter = new oledbdataadapter("select * [" + excelsheets[0] + "] [sales record number] not null", connectionstring); //sms: var adapter = new oledbdataadapter("select * [" + excelsheets[0] + "] ", connectionstring); var ds = new dataset(); objconn.close(); adapter.fill(ds, "anynamehere"); datatable data = ds.tables["anynamehere"]; if (data != null && data.rows.count > 0) { btnupdatechanges.visible = true; } else { btnupdatechanges.visible = false; } gvexcelfile.datasource = data.defaultview.totable(); gvexcelfile.databind(); } catch (exception ex) { } } }
help appreciated!