Search code examples
c#.netxlsxspreadsheetlight

Reading Row Data from a spreadsheet


Using the tools SpreadSheetLight I cant find how to read the rows of a spreadsheet file. Specificly Sheet 1.

Two problems Im having is

  1. There is no way that I can see to get the Rows
  2. There is no way that I can see to get the Column Index Here is my code

    public void ParseExcelFile(FileInfo file) 
    {
        using (SLDocument sl = new SLDocument())
        {
            FileStream fs = new FileStream(file.FullName, FileMode.Open);
    
            MemoryStream msFirstPass = new MemoryStream();
            SLDocument sheet1 = new SLDocument(fs, "Sheet1");
    
    
            // There is no way that I can see to get the Rows
            foreach(var row in sheet1.Rows)
            {
                foreach(SLCell c in row)
                {
                    // There is no way that I can see to get the Column Index
                    switch(c.Column )
                    {
                        case 1:
                            //Handle data if cell is Column 1
                            break;
                        case 2:
                            //Handle data if cell is Column 2
                            break;
                        case 3:
                            //Handle data if cell is Column 3
                            break;
                    }
                }
            }
    
    
    
        }
    
    }//func
    

Solution

  • Its going to be hard for people to answer this as SpreadSheetLight doesn't appear to have publicly available code documentation. I have two suggestions based on a couple of assumptions:

    1. Does the SLDocument.Row.SLCell class have any index property? If so you could get your required information from there.
    2. You could replace your foreach's with for's to track the row and column.