PDA

View Full Version : وارد کردن فایل اکسل به دیتاگرید



NASA's Spaceman
چهارشنبه 21 خرداد 1393, 16:53 عصر
ابتدا از توی ریفرنس ها این رو انتخاب کنید
Microsoft.Office.Interop.Excel;
و بعد طبق کد های زیر عمل کنید
using System;using System.Windows.Forms;
using Excel = Microsoft.Office.Interop.Excel;


namespace WindowsFormsApplication149
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}


private void releaseObject(object obj)
{
try
{
System.Runtime.InteropServices.Marshal.ReleaseComO bject(obj);
obj = null;
}
catch (Exception ex)
{
obj = null;
MessageBox.Show("Unable to release the Object " + ex.ToString());
}
finally
{
GC.Collect();
}
}




private void button1_Click(object sender, EventArgs e)
{
Excel.Application xlApp;
Excel.Workbook xlWorkBook;
Excel.Worksheet xlWorkSheet;
Excel.Range range;





xlApp = new Excel.Application();
xlWorkBook = xlApp.Workbooks.Open(Application.StartupPath + "\\Book1.xlsx", 0, true, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindow s, "\t", false, false, 0, true, 1, 0);
xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1) ;


range = xlWorkSheet.UsedRange;


for (int columnCounter = 1; columnCounter <= range.Columns.Count; columnCounter++)
{
this.dataGridView1.Columns.Add(xlWorkSheet.Cells[1, columnCounter].Value2, xlWorkSheet.Cells[1, columnCounter].Value2);
}
//get the value of each excel cell and put into this variable
string str;
//Loop counters
int rowCounter = 0;
int columnCounter2 = 0;


for (rowCounter = 2; rowCounter <= range.Rows.Count; rowCounter++)
{
//Create a new row into the datagridview
this.dataGridView1.Rows.Add();
for (columnCounter2 = 1; columnCounter2 <= range.Columns.Count; columnCounter2++)
{
str = Convert.ToString((range.Cells[rowCounter, columnCounter2] as Excel.Range).Value2);
//add the value of excel file into the new row
this.dataGridView1.Rows[rowCounter - 2].Cells[columnCounter2 - 1].Value = str;
}
}
xlWorkBook.Close(true, null, null);
xlApp.Quit();


releaseObject(xlWorkSheet);
releaseObject(xlWorkBook);
releaseObject(xlApp);
}
}
}
با سپاس Spaceman

behnam-soft
چهارشنبه 21 خرداد 1393, 19:50 عصر
ضمن تشکر از آموزش شما، من هم یه ویدئوی کم حجم در این مورد درست کردم که البته خیلی ساده تر و قابل فهم تر از کد های شماست، و در بانک هم میشه ذخیره ش کرد. در واقع با اکسل مثل یه بانک اس کیو ال برخورد می کنه، این هم آدرس :
http://barnamenevis.org/showthread.php?421564-%D8%AF%D8%A7%D9%86%D9%84%D9%88%D8%AF-%D9%88%DB%8C%D8%AF%D8%A6%D9%88%DB%8C-%D9%86%D8%AD%D9%88%D9%87-%D8%AE%D9%88%D8%A7%D9%86%D8%AF%D9%86-%D9%88-%D8%B0%D8%AE%DB%8C%D8%B1%D9%87-%DA%A9%D8%B1%D8%AF%D9%86-%D8%A7%D8%B7%D9%84%D8%A7%D8%B9%D8%A7%D8%AA-%D9%81%D8%A7%DB%8C%D9%84-%D9%87%D8%A7%DB%8C-%D8%A7%DA%A9%D8%B3%D9%84-%D8%AF%D8%B1-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%87%D8%A7%DB%8C-%D8%B3%DB%8C-%D8%B4%D8%A7%D8%B1%D9%BE