سلام دوست عزیز
دو راه برای کار با اکسل معموله یکی استفاده از microsoft.office.interoperability که علاوه بر داده میتونید استایل فایل اکسل رو هم تغییر بدین که برای گزارشگیری یا ورود اطلاعات بوسیله ی اکسل استفاده میشه
اونیکی استفاده از OleDb هست که از اکسل مثل یک دیتابیس استفاده میکنه
بهر حال استفاده از اکسل به عنوان روش ذخیره اطلاعات خیلی فکر خوبی نیست و اکسل با اینکه این قابلیت رو داره ولی برای اینکار طراحی نشده.
فرمت ذخیره سازی بستگی به برنامه، حجم اطلاعات، سرعت و خیلی چیزای دگه داره، برای برنامه های تجاری یا client/server میشه از یه دیتابیس در سطح تجاری مثل sql server یا MySql استفاده کرد، اگر نه به دردسرش نمیارزه معمولا و میشه از embedded database هایی مثل Sqlite یا SqlServerCe استفاده کرد که خوبیشون اینه که نیاز به نصب ندارن و Sqlite خودش دیتابیس بسار قوی هستش و مشکلشون هم اینه که بخاطر سرعت و حجم کمشون خیلی قابلیت های دستابیس های تجاری رو ندارن ولی اگه از قابلیت ها استفاده نمیکنید انتخاب معقولیه. یک حالت هم استفاده از Access هست که از اکسل انتخاب بهتریه.
این یه نمونه برای اتصال به اکسل از طریق OleDb:
var fileName = string.Format("{0}\\esmeFileExcel.xls", Directory.GetCurrentDirectory());
var connectionString = string.Format("Provider=Microsoft.Jet.OLEDB.4.0; data source={0}; Extended Properties=Excel 8.0;", fileName);
var adapter = new OleDbDataAdapter("SELECT * FROM [esmeWorkSheet$]", connectionString);
var ds = new DataSet();
adapter.Fill(ds, "anyNameHere");
DataTable data = ds.Tables["anyNameHere"];