PDA

View Full Version : دریافت اطلاعات ازexcell



amir_rtf
دوشنبه 27 تیر 1390, 14:35 عصر
دوستان من میخوام از یک فایل excell چند ستون در گرید ذخیره کنم منو راهنمایی کنید ;
اگه کد در اختارم بگذارید ممنون میشم ;
با سپاس;:تشویق:

Boy_nn
دوشنبه 27 تیر 1390, 14:44 عصر
اول Microsoft.Office.Interop.Excel
به References برنامه اضافه کن

Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();
//Datatable dt;
DataTable dt = new DataTable();
//string strconstring = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " + @"Address File" + ";Extended Properties=Excel 8.0;";

string strconstring = "Provider=Microsoft.ACE.OLEDB.12.0;" +
"Data Source=" + @"Address File" + "; Jet OLEDB:Engine Type=5;" +
"Extended Properties=\"Excel 12.0;ImportMixedTypes=Text;HDR=YES;IMEX=1;\"";

System.Data.OleDb.OleDbDataAdapter da =
new System.Data.OleDb.OleDbDataAdapter("select * from [+"Name Sheet"+$]", strconstring);

da.Fill(dt);
//for (int i = 1; i < dt.Rows.Count + 1; i++)
// dt.Rows[i - 1]["id"] = i;
dataGridView1.DataSource = dt;

Sal_64
شنبه 05 شهریور 1390, 12:05 عصر
new System.Data.OleDb.OleDbDataAdapter("select * from [+"Name Sheet"+$]", strconstring);

دوستان کسی میدونه این Name Sheet چیه و تو برنامه خودمون چی باید وارد کنیم؟؟؟

jmfnima
شنبه 05 شهریور 1390, 14:27 عصر
با سلام
خب منظور از Name Sheet نام شيت توي فايل اكسلت هست ( در هر فايل اكسل ما چند تا شيت داريم كه اسم هر كدومشون رو پايين فايل اكسلت ميتوني ببيني )

StAnger
شنبه 05 شهریور 1390, 14:34 عصر
سوال من دقيقا برعکسه ، چطوره ميشه خروجي برنامه رو روي اکسل نمايش داد ؟

ahrimaneahurai
شنبه 05 شهریور 1390, 18:14 عصر
فکر کنم این لینک (http://blog.avizhegroup.com/csharp/work-with-excel-in-csharp/)مشکلتون رو حل کنه

Sal_64
یک شنبه 06 شهریور 1390, 08:16 صبح
با سلام
خب منظور از Name Sheet نام شيت توي فايل اكسلت هست ( در هر فايل اكسل ما چند تا شيت داريم كه اسم هر كدومشون رو پايين فايل اكسلت ميتوني ببيني )
سلام
تشکر
آیا بدون دونستن نام شیت هم میشه اینکار انجام داد؟
یعنی ممکن که نام شیت برای هر فایل اکسلی که میخوایم اطلاعاتش داخل دیتاگرید بریزیم متفاوت باشه ، اونوقت آیا راهی وجود داره ؟

ahrimaneahurai
یک شنبه 06 شهریور 1390, 14:05 عصر
مثل این می مونه که بگید می خواید ازیه دیتابیس کوئری بگیرید ولی اسم جدول رو نگید. خب یه راه هم هست اینکه اسم تمام شیت هایی که اون فایل داره رو در بیارید. نمونش توی codeproject هست.

Salar Ashgi
یک شنبه 06 شهریور 1390, 22:08 عصر
میتونید از مجموعه کامپوننت های Aspose.Cells استفاده کنید که دارای امکانات فوق العاده ای در این زمینه است .

لینک (http://www.aspose.com/categories/.net-components/aspose.cells-for-.net/default.aspx)

موفق باشید ./