2017-10-06 35 views
2

我必須讀取Excel(.xlsx)文件。我正在使用OpenXML NuGet pkg。 我想獲得範圍(xlRange),所以我可以從特定的單元格中獲取數據。但沒有獲得成功。此代碼在控制檯環境中創建。如何使用openxml和c獲取excel表中的範圍#

static void Main(string[] args) 
{  
    bool flagDataError = false; 
    string sDuplicateRows = string.Empty; 
    string sCreatedRows = string.Empty; 
    string sFileTypeError = string.Empty; 
    string filepath = @"C:\test.xlsx"; 
    var fileName = Path.GetFileName(filepath); 
    var fileExtension = Path.GetExtension(filepath); 
    if ((fileExtension != ".xlsx") && (fileExtension != ".xls")) 
     sFileTypeError = "Invalid file. \n\nPlease browse a correct Excel file to upload."; 
    else 
    {   
     using (SpreadsheetDocument doc = SpreadsheetDocument.Open(filepath, false)) 
     { 
      WorkbookPart workbookPart = doc.WorkbookPart; 
      WorksheetPart worksheetPart = workbookPart.WorksheetParts.First(); 
      SheetData sheetData = worksheetPart.Worksheet.Elements<SheetData>().First(); 


      List<AxisData> data = new List<AxisData>(); 
      for (int i = 5; i <= 16; i++) 
      { 
       for (int j = 2; j <= 13; j++) 
       { 
        AxisData axisDetails = new AxisData(); 
        axisDetails.ProductCode = "AXIS " + xlRange.Cells[i, 1].Value; 
        axisDetails.ContractPeriod = Convert.ToDateTime(xlRange.Cells[4, j].Value); 
        axisDetails.SettlePrice = Convert.ToDecimal(xlRange.Cells[i, j].Value); 
        axisDetails.EffectiveStartDate = efectiveStartDate; 
       } 
       } 
      } 
     } 
    } 
} 
} 
+0

你是什麼意思 「沒有得到成功」 是什麼意思?你有錯誤嗎?程序如何表現得不像你想要的那樣?在描述你的問題時要具體。此外,您提供的代碼與花括號不匹配。 – mason

回答

0
IEnumerable<Row> ShRows = sheetData.Elements<Row>(); 

var _RCount = SHRows.Count(); 
相關問題