Depues de buscar varios componentes para poder leer un excel en silverlight el mejor que he encontrado es este:
OpenFileDialog dilgFile= new OpenFileDialog ;
FileStream a = dilgFile.File.OpenRead();
//get the stream of the file selected for user
StreamReader sr = new StreamReader(a);
//vars for excel
List workSheets;
//intizialice Excel
ExcelOpenXmlReader excelreader2007 = ExcelReaderFactory.CreateOpenXmlReader(sr.BaseStream) asExcelOpenXmlReader;
excelreader2007.WorkBookFactory = new WorkBookFactory();
var workBook1 = excelreader2007.AsWorkBook();
workSheets = (List<IWorkSheet>)workBook1.WorkSheets;
Luego podemos facilmente leer las hojas cada celda y columna de esas hojas de manera:
//chek campo for campo
for (int j = 0; j < workSheets[0].Columns.Count; j++)
{
string strValue = workSheets[0].Rows[i].Values[j].ToString();
}
pueden descargar el código del siguiente Link:
http://exceldatareader.codeplex.com/releases
Tambien sirve para asp y para aplicaciones de escritorio.