PDA

View Full Version : آموزش: كلاسي براي اكسپورت datatable به فايل exel



hamid_hr
شنبه 02 آذر 1392, 13:27 عصر
سلام
يك كلاس توcodeproject بود برا تبديل ديتاتيبل به فايل اكسل
قابليتهاي ديگه هم داره
http://www.codeproject.com/Articles/8411/C-class-library-for-exporting-data-to-CSV-Excel-fi

اينم سورسش
http://hamid_hr.fileup.ir/d/2169614/ExportData.zip

حسین.کاظمی
چهارشنبه 06 فروردین 1393, 00:12 صبح
با سلام

من یه برنامه با زبان شیرین سی شارپ نوشتم که اطلاعات یک دیتا گرید ویو را به اکسل ارسال می کند ولی مشکلم اینجاست که در بعضی از فرم ها بصورت صحیح انجام میدهد ولی در بعضی از فرم ها این خطا را میده لطفاً در مورد این خطا راهنماییم کنید

پیشاپیش از راهنمایی شما تشکر میکنم

117297

rezaee2
چهارشنبه 24 اردیبهشت 1393, 07:47 صبح
سلام
حمیدخان من برای استفاده از این پروژه توی پروژه خودم دقیقا چه کارایی باید انجام بدم تا لایبرری این دستورات به پروژم اضافه بشه؟ و توابعش رو توی پروژم شناسایی کنه؟

ممنون

hamid_hr
چهارشنبه 24 اردیبهشت 1393, 08:43 صبح
فایل RKLib.ExportData.dll که توی پروژه هست رو به رفرنس برنامه خودت اضافه کن
حالا هرچی اطلاعات میخوای بره تو اکسل رو بریز تو یک datatable
بعد اینطوری بریز تو فایل اکسل

var objExport = new RKLib.ExportData.Export("Win");
objExport.ExportDetails(DataTable, RKLib.ExportData.Export.ExportFormat.Excel, FileName);

rezaee2
چهارشنبه 24 اردیبهشت 1393, 11:05 صبح
تشکر دوست عزیز
آیا امکانش هست موقع ذخیره آدرس ذخیره شدن رو بپرسه؟

hamid_hr
چهارشنبه 24 اردیبهشت 1393, 11:37 صبح
اره همون filename ادرس کاملو میتونی بزنی

rezaee2
پنج شنبه 25 اردیبهشت 1393, 08:35 صبح
اره همون filename ادرس کاملو میتونی بزنی

خوب من از سیو دیالوگ استفاده کردم
اما یه مشکل
وقتی آدرس رو مستقیم از سیودیالوگ میگیرم محتوای فارسی بصورت ناخوانا ذخیره میشه


SaveFileDialog a = saveFileDialog1;
if (a.ShowDialog()==DialogResult.OK)
{
string fileName = a.FileName;
var objExport = new RKLib.ExportData.Export("Win");
objExport.ExportDetails(dtFuel, RKLib.ExportData.Export.ExportFormat.Excel, fileName);
}


اما وقتی که آدرس رو بصورت رشته ای خودم میدم درست ایجاد میشه


SaveFileDialog a = saveFileDialog1;

if (a.ShowDialog()==DialogResult.OK)
{
string fileName = a.FileName;
var objExport = new RKLib.ExportData.Export("Win");
objExport.ExportDetails(dtFuel, RKLib.ExportData.Export.ExportFormat.Excel, "C:\\Users\\user1\\Desktop\\g.xls");
}

این مشکل برای شما هم وجود داره؟

rezaee2
شنبه 27 اردیبهشت 1393, 08:11 صبح
کسی به این مشکل برخورد کرده؟

arash_flag
شنبه 27 اردیبهشت 1393, 10:38 صبح
سلام دوستان من این dll رو add میکنم اما هنوز بهش ایراد میگیره . چــــــــــــــرا؟

arash_flag
شنبه 27 اردیبهشت 1393, 10:43 صبح
سلام
من این کد رو استفاده کردم کار نداد.
RKLib.ExportData.Export obj = new RKLib.ExportData.Export("Win");

SqlConnection con = new SqlConnection("Data Source=.;Initial Catalog=bank;Integrated Security=True");
SqlDataAdapter da = new SqlDataAdapter("select * from tbl_menu",con);
DataTable dt = new DataTable();
da.Fill(dt);

obj.ExportDetails(dt,RKLib.ExportData.Export.Expor tFormat.Excel , @"C:\s\s.xlsx");


119127

hamid_hr
شنبه 27 اردیبهشت 1393, 11:05 صبح
خوب من از سیو دیالوگ استفاده کردم
اما یه مشکل
وقتی آدرس رو مستقیم از سیودیالوگ میگیرم محتوای فارسی بصورت ناخوانا ذخیره میشه

من با savedialog هم تست کردم مشکلی نداشت

RKLib.ExportData.Export obj = new RKLib.ExportData.Export("Win");
SqlConnection con = new SqlConnection("Data Source=.\\sqlexpress;Initial Catalog=PSArya;Integrated Security=True");
SqlDataAdapter da = new SqlDataAdapter("select * from Tbl",con);
DataTable dt = new DataTable();
da.Fill(dt);
SaveFileDialog sf = new SaveFileDialog();
sf.Filter = "*.xls|*.xls";
if (sf.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
obj.ExportDetails(dt, RKLib.ExportData.Export.ExportFormat.Excel, sf.FileName);
}

arash_flag
شنبه 27 اردیبهشت 1393, 11:11 صبح
سلام پس چرا به dll من گیر میده؟

rezaee2
یک شنبه 28 اردیبهشت 1393, 08:47 صبح
سلام دوستان من این dll رو add میکنم اما هنوز بهش ایراد میگیره . چــــــــــــــرا؟
سلام

آخه توضیح داده نشده که باید export.cs رو هم باید add کنید

rezaee2
یک شنبه 28 اردیبهشت 1393, 10:05 صبح
من با savedialog هم تست کردم مشکلی نداشت

RKLib.ExportData.Export obj = new RKLib.ExportData.Export("Win");
SqlConnection con = new SqlConnection("Data Source=.\\sqlexpress;Initial Catalog=PSArya;Integrated Security=True");
SqlDataAdapter da = new SqlDataAdapter("select * from Tbl",con);
DataTable dt = new DataTable();
da.Fill(dt);
SaveFileDialog sf = new SaveFileDialog();
sf.Filter = "*.xls|*.xls";
if (sf.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
obj.ExportDetails(dt, RKLib.ExportData.Export.ExportFormat.Excel, sf.FileName);
}


تشکر دوست عزیز
کد شما درست کار میکنه اما کد من نمیدونم چه ایرادی داشت که حروف فارسی رو خراب میکرد!

arash_flag
دوشنبه 29 اردیبهشت 1393, 11:06 صبح
سلام

آخه توضیح داده نشده که باید export.cs رو هم باید add کنید
سلام بی زحمت ی نمونه که خودتون کار کردین رو بزارید ممنون:تشویق:

rezaee2
سه شنبه 30 اردیبهشت 1393, 07:03 صبح
سلام بی زحمت ی نمونه که خودتون کار کردین رو بزارید ممنون:تشویق:

سلام
شما این دو فایلی که بالا صحبتش شد رو ادد کنید و نمونه کدی که دوستمون در پاسخ به سوال من دادن وارد کنید میتونید خروجی اکسل رو با ایجاد فایل در مسیر دلخواه بوجود بیارید
کد من رو اگه بخواید ببینید چند پست بالاتر هردو حالتی که تست کرده بودم و مشکل داشت رو میتونید ببینید.