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