using System; using System.Data; using System.Net.Mime; using Microsoft.Office.Interop.Excel; using System.Text; using System.Reflection; namespace ConsoleApplication3 { public class ExcelWrapper { public DataSet GetExcel(string fileName) { // // Include a reference to Microsoft.Office.Interop.Excel // ExcelWrapper wrap = new ExcelWrapper(); // DataSet ds = wrap.GetExcel(@"c:\development\rda.xls"); // // I just ran this against an old spreadsheet an it worked fine. // Application oXL; Workbook oWB; Worksheet oSheet; Range oRng; try { // creat a Application object oXL = new ApplicationClass(); // get WorkBook object oWB = oXL.Workbooks.Open(fileName, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value); // get WorkSheet object oSheet = (Microsoft.Office.Interop.Excel.Worksheet)oWB.Sheets[1]; System.Data.DataTable dt = new System.Data.DataTable("dtExcel"); DataSet ds = new DataSet(); ds.Tables.Add(dt); DataRow dr; StringBuilder sb = new StringBuilder(); int jValue = oSheet.UsedRange.Cells.Columns.Count; int iValue = oSheet.UsedRange.Cells.Rows.Count; // get data columns for (int j = 1; j <= jValue; j++) { dt.Columns.Add("column" + j, System.Type.GetType("System.String")); } //string colString = sb.ToString().Trim(); //string[] colArray = colString.Split(':'); // get data in cell for (int i = 1; i <= iValue; i++) { dr = ds.Tables["dtExcel"].NewRow(); for (int j = 1; j <= jValue; j++) { oRng = (Microsoft.Office.Interop.Excel.Range)oSheet.Cells[i, j]; string strValue = oRng.Text.ToString(); dr["column" + j] = strValue; } ds.Tables["dtExcel"].Rows.Add(dr); } return ds; } catch (Exception ex) { throw; } } } }