PDA

View Full Version : export crystal report to word



angle25
شنبه 27 مرداد 1386, 10:33 صبح
سلام به همگی
کسی میدونه اگه بخواهیم یک Report رو که باCrystal Report درasp.net 2003درست شده به خروجیWordتبدیل(Export)کنیم چطوریه؟ (در یک بر نامه تحت وب (Webapplication))


ممنون

sm
شنبه 27 مرداد 1386, 11:28 صبح
باید یه متغیر از گزارشتون تعریف کنین و بعد توی Click مربوط به کلید Export این رو بنویسین:


dim r as new Report name
...
...
...
r.ExportToDisk(CrystalDecisions.[Shared].ExportFormatType.WordForWindows, "c:\aaa.doc")


موفق باشید

angle25
یک شنبه 28 مرداد 1386, 11:11 صبح
sm عزیز خیلی ممنون
Report ی که من میخوام به فایل word ،export کنم دارای پارامتر هست من کد شما رو در کنار کدی که برای تولید Report لازم هست می نویسم و (کد زیر)




////
myreport rep= new myreport ();

rep.SetParameterValue("FirstDate",FirstDate);

rep.SetDataSource(mydataset);


CrystalReportViewer1.ReportSource=rep;


rep.ExportToDisk(CrystalDecisions.Shared.ExportFor matType.WordForWindows,"c:\aaa.doc");
////


Errorی نمیده ولی فایل Word رو هم تولید نمیکنه و اگر هم اون رو جدا از این کد بنویسم پیغام خطای "Currentparametervalueexception"را می دهد من کد زیر را هم امتحان کردم که باز هم همین خطا را دارد




ReportDocument rptWord=new ReportDocument();
string strExportFile=Server.MapPath(".")+"\\aaa.doc";
rptWord.Load("myreport.rpt");
rptWord.ExportOptions.ExportDestinationType=Export DestinationType.DiskFile;
rptWord.ExportOptions.ExportFormatType=ExportForma tType.WordForWindows;
DiskFileDestinationOptions objOptions=new DiskFileDestinationOptions();
objOptions.DiskFileName=strExportFile;
rptWord.ExportOptions.DestinationOptions=objOption s;




rptWord.Export();

objOptions=null;
rptWord=null;
Response.Redirect("aaa.doc");
////

////
واگر خط زیر را به آن اضافه کنم خطای(Login failed)را میدهد بر روی سیستم دسترسی هم Full
هست


(rptWord.SetParameterValue("FirstDate","1385/01/01");)


ممنون می شم راهنمایی کنین

sm
یک شنبه 28 مرداد 1386, 12:12 عصر
با اون کد اولی باید حتی اگه گزارشتون خالی هم باشه جواب بده و یه فایل خالی براتون بسازه.
من عینا این کدها رو نوشتم و جواب داد
یه گزارش خالی ایجاد کنین و تست کنین ببینین با این کدها جواب میده یا نه؟
مسیری رو هم که دادین چک کنین ببینین فایل aaa.doc رو تولید نکرده؟ توی این مثال درایو c هست.

موفق باشید

angle25
چهارشنبه 31 مرداد 1386, 12:01 عصر
sm عزیز به خاطر کمکتون ممنونم مشکلم با استفاده از کد شما در کنار کد لازم برای تولید گزارش حل شد و پارامتر ها رو هم براش فرستادم الان فایل Word رو Export میکنه ولی اگر تعداد رکورد ها بیشتر از سایز یک صفحه در Wordباشه در هر صفحه 3 رکورد آخر رو روی هم میندازه و بعد در صفحه بعدی از ادامه اون شروع می کنه(مثلا اگر 35 رکورد در صفحه اول جا بشه رکورد 36 و 37 و 38 رو روی همین رکورد 35 میاره و از رکورد 39 به صفحه بعدی میره و باز هم این مشکل در انتهای صفحات دیگر هم وجود داره)با تنظیمات Page set up در Word هم سر و کله زدم ولی به جایی نرسیدم این مشکل به تنضیمات Word مربوط میشه یا در کد نویسی چیزی رو باید تنظیم کنم؟راه حلش چیه؟

ممنون

sm
چهارشنبه 31 مرداد 1386, 12:35 عصر
http://barnamenevis.org/forum/showpost.php?p=384083&postcount=2

موفق باشید

negar2nd
شنبه 16 آذر 1387, 09:14 صبح
دوستان منم يك سوال داشتم در مورد export
من از كد sm استفاده كردم .روي local كار مي كنه ولي روي server كار نميكنه.يعني فايل رو ميسازه ولي روي سرور ميسازه كه به درد كلاينت نميخوره.
لطفا راهنمايي كنيد.

kiosksoft
شنبه 16 آذر 1387, 17:18 عصر
دوستان منم يك سوال داشتم در مورد export
من از كد sm استفاده كردم .روي local كار مي كنه ولي روي server كار نميكنه.يعني فايل رو ميسازه ولي روي سرور ميسازه كه به درد كلاينت نميخوره.
لطفا راهنمايي كنيد.


دوست عزیز

نمیدونم اشتباه میکنم یا نه , اما شما میتونید ابتدا سمت سرور در یک شاخه temp ذخیره کنید سپس با دستور زیر سمت کلاینت نمایش بدید,حالا این فایل سمت کلاینت میتونه ذخیره یا چاپ بشه.




Response.Redirect(PdfName);

یا

OpenNewWindow(@"temp\\" + keepFileName);