برای خواندن از فایل Excel در C# علاوه بر NameSpace هایی که لازم دارید سه NameSpace زیر
را هم به برنامه تان اضافه نمایید:
using
Excel = Microsoft.Office.Interop.Excel;
using
Microsoft.Office.Core;
using
Microsoft.Office.Interop.Excel;
البته در Refrence ها ابتدا Microsoft.Office.Interop.Excelو Microsoft Office Library را اضافه نمایید.
System.Threading.Thread thisThread = System.Threading.Thread.CurrentThread;
System.Globalization.CultureInfo originalCulture =
thisThread.CurrentCulture;
// Use an exception block to switch back in case of a run-time error.
try
{
thisThread.CurrentCulture = new
System.Globalization.CultureInfo(
"en-US");
Excel.ApplicationClass app = new
ApplicationClass();
Excel.Workbook workBook = app.Workbooks.Open(Path, 0, true, 5, "",
"", true,
Excel.XlPlatform.xlWindows, "\t", false,
false, 0, true,
false, false);
Excel.Worksheet workSheet = (Excel.Worksheet)workBook.ActiveSheet;
int index = 1;
object rowIndex = 1;
object colIndex1 = 1;
object colIndex2 = 2;
object colIndex3 = 3;
try
{
while (((Excel.Range)workSheet.Cells[rowIndex,
colIndex1]).Value2 != null)
{
// Read the Cells to get the required value.
string firstName = ((Excel.Range)workSheet.Cells[rowIndex,
colIndex1]).Value2.ToString();
string lastName = ((Excel.Range)workSheet.Cells[rowIndex,
colIndex2]).Value2.ToString();
string PhonNumber = ((Excel.Range)workSheet.Cells[rowIndex,
colIndex3]).Value2.ToString();
Console.WriteLine("Name
: {0},{1} ", firstName, lastName);
index++;
rowIndex =
index;
}
}
catch (Exception
ex)
{
Console.WriteLine(ex.Message);
}
}
finally
{
// Restore the culture information for the thread after the
// Excel calls have completed.
thisThread.CurrentCulture = originalCulture;
}
روش زیر،روش بسیار ساده ای است که با فایل Excel یه
شکل یک منبع داده رفتار می کند و اگر کتابخانه های مایکروسافت به هر دلیلی لود
نشوند باز کردن فایل اکسل بدون مشکل انجام می شود:
Normal
0
false
false
false
EN-US
X-NONE
FA
string connstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=d:\\Book1.xls;Extended Properties='Excel 8.0;HDR=NO'";
OleDbConnection conn = new OleDbConnection(connstr);
string strSQL = "SELECT * FROM
[Sheet1$]";
OleDbCommand cmd = new OleDbCommand(strSQL, conn);
DataSet ds = new DataSet();
OleDbDataAdapter da = new OleDbDataAdapter(cmd);
da.Fill(ds);
GridView1.DataSource =
ds;
GridView1.DataBind();
__________________________________________________
گپی برداری از برنامه نویسی مثل آب خوردن