Apertura de file de Excel con ClosedXML Error

Estoy tratando de abrir un file de Excel de 6MB en ASP.NET usando ClosedXML, pero recibo un error que dice "Error en la conversión implícita. No se puede convertir el object nulo".

Aquí está mi código:

Dim temppath = Path.GetTempPath() Dim filenamestr As String = Path.GetFileNameWithoutExtension(Path.GetRandomFileName()) Dim tempfilename As String = Path.Combine(temppath, filenamestr + ".xlsx") Using fs = New FileStream(tempfilename, FileMode.Create, FileAccess.Write) xlStream.WriteTo(fs) End Using Dim xlwb = New XLWorkbook(tempfilename) 'The part having the error 

Fuente: "DocumentFormat.OpenXml" También intenté abrir un file de Excel existente, todavía resulta en este error. También traté de poner el file en directorys diferentes pensando que era solo por el permiso de mis discos, sin suerte en absoluto. Gracias por adelantado.

A continuación se muestra el código de trabajo en time real utilizado para get el file Excel en xml cerrado

  private void workbookProcessing(string workbookname) { SqlDatabase objdb = new SqlDatabase ( OSMC.constring_Property ); 

// Debajo de boqserverfilepath se refiere a la carpeta donde se almacenaron los files de Excel EX: "~ / Uploaded_Boq /";

  string fullfilename = System.Web.HttpContext.Current.Server.MapPath ( OneStopMethods_Common.boqserverfilepath + workbookname ); XLWorkbook theWorkBook = new XLWorkbook ( fullfilename ); int worksheetcount = theWorkBook.Worksheets.Count; foreach(IXLWorksheet theWorkSheet in theWorkBook.Worksheets) { foreach(IXLRow therow in theWorkSheet.Rows()) { foreach(IXLCell thecell in therow.Cells()) { int tenderid = 1001; int Activity_Section_objseq = tenderosm.generateNextTenderObjSequenceNo ( tenderid, "tender_boq_activity_section" ); string boqactivitysectionInsquery = " insert into tender_boq_activity_section(fk_tender_id,obj_seq_no,parent_obj_seq_no,activity_section_no,workbook_name,worksheet_name,row_index,cell_reference,element_type,element_description) values(" + tenderid + "," + Activity_Section_objseq + ",' 10 ','20','" + workbookname + "','" + theWorkSheet.Name + "'," + therow.RowNumber ( ) + ",'"+thecell.Address+"','activity','" + thecell.Value + "');"; objdb.ExecuteNonQuery ( CommandType.Text, boqactivitysectionInsquery ); } } } } 

Tomas los valores según tu requerimiento e insertas los valores en la database.

Espero que la información anterior sea útil. Amablemente déjame saber tus pensamientos.

gracias karthik