0
我有一个场景,我需要在MVC应用程序中读取Excel文件,我需要这个在服务器上运行,因此我使用Open XML,我有一个问题,我的代码没有进入工作表中的行循环,请参阅下面的代码和关于如何纠正我的代码的建议。打开XML阅读Excel文件不进入循环读取Excel表
if (file.ContentLength > 0)
{
string path = file.FileName;
using (SpreadsheetDocument doc = SpreadsheetDocument.Open(path, false))
{
WorkbookPart workbookPart = doc.WorkbookPart;
WorksheetPart worksheetPart = workbookPart.WorksheetParts.First();
SheetData sheetData = worksheetPart.Worksheet.Elements<SheetData>().First();
foreach (Row r in sheetData.Elements<Row>())
{
foreach (Cell c in r.Elements<Cell>())
{
string text = c.CellValue.Text;
}
}
}
}
任何想法,您的帮助将不胜感激,我一直在努力接近多,但我不是在foreach循环FR一些奇怪的原因得到。
我正在使用Excel 2013,请参阅下面的图像我的工作簿。
它仍然不能正常工作,它不会进入for循环,还有GetWorksheetPart(workbookPart,sSheetName)的位置;方法定义?我尝试了很多不同的方法,没有运气。 HasChildrenSheets回退false,因此它跳过循环,如果我删除HasChildrenSheets代码,它会输入表达式而不是循环中的代码 – Papi
该函数不算什么,但返回工作表私有静态WorksheetPart GetWorksheetPart(WorkbookPart工作簿部分,字符串表名) { string relId = workbookPart.Workbook.Descendants().First(s => sheetName.Equals(s.Name)).Id; return(WorksheetPart)workbookPart.GetPartById(relId); } –
A3006
我还在为进入循环作斗争,我不知道为什么 – Papi