打开Excel文件使用ClosedXML错误

我正尝试在ASP.NET中使用ClosedXML打开一个6MB的Excel文件,但是我收到一个错误,提示“隐式转换错误,无法转换空对象”。

这是我的代码:

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 

来源:“DocumentFormat.OpenXml”我也尝试打开现有的Excel文件,它仍然导致此错误。 还尝试把文件放在不同的目录中,认为这只是因为我的驱动器的许可,根本没有运气。 提前致谢。

以下是用于在closures的xml中获取excel文件的实时工作代码

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

//在boqserverfilepath下面引用存放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 ); } } } } 

您按照您的要求取值,并将值插入到数据库中。

希望以上信息将会有用。 请让我知道你的想法。

谢谢karthik