PDA

View Full Version : سوال: export کردن اطلاعات به صورت Word,Pdf,Excel,...



mehrnoosh_al62
شنبه 14 دی 1387, 13:24 عصر
سلام دوستان
میخواستم بدونم چطور میشه اطلاعات موجود در دیتاگرید ویو رو به صورت فرمت های زیر در بیارم...
word , pdf , excel , xml , text

arsalansalar
یک شنبه 15 دی 1387, 09:07 صبح
یک نمونه که تبدیل به exell می کندر در code sampel هست.

parsehvb
سه شنبه 17 دی 1387, 09:02 صبح
می تونی از کدهائی که تو اینجا نوشتم استفاده کنی
http://barnamenevis.org/forum/showthread.php?t=109189 (http://barnamenevis.org/forum/showthread.php?t=109189)

sepehr.net
چهارشنبه 18 دی 1387, 20:18 عصر
شاید ربطی نداشته باشه ولی راحت ترین راه اینه که از CrystalReportViewer استفاده کنی.
یعنی اگه اطلاعات DataGridView را به گزارش در کریستال تبدیل کنی ، این امکان در ان هست که گزارشات رو به صورت Pdf,Word و ... تبدیل کنی ;)

mehrnoosh_al62
یک شنبه 22 دی 1387, 08:52 صبح
مرسی دوستان برای تبدیل به اکسل نمونه خیلی زیاده اما pdf,text,xml هنوز چیزی پیدا نکردم. در ضمن ممکنه بدون اینکه office تو سیستم نصب باشه این کارو انجام داد؟

parsehvb
یک شنبه 22 دی 1387, 09:10 صبح
مرسی دوستان برای تبدیل به اکسل نمونه خیلی زیاده اما pdf,text,xml هنوز چیزی پیدا نکردم. در ضمن ممکنه بدون اینکه office تو سیستم نصب باشه این کارو انجام داد؟

برای سوال اول اگر سوالت رو مشخص کنی جوابش زیاد سخت نیست یعنی بگو چه اطلاعاتی رو می خواهی به فرمتهای مورد نظرت export کنی فقط از grid هست یا .....

برای سوال دومت هم باید بگویم برای این کار در صورتی که برنامه ات مشکل پیدا کنه بایستی کامپوننتهائی رو که در هنگام نصب office نصب میشه رو در برنامه ات وارد کنی ولی در کل میشه این کار بدون نصب office انجام داد

parsehvb
یک شنبه 22 دی 1387, 09:42 صبح
جواب سوالت خیلی راحته در هر صورت ،

این مثال برای ارسال اطلاعات از گرید ویو به Xml هست امیدوارم به دردت بخوره



dv.Table.WriteXml(FileName)

mehrnoosh_al62
یک شنبه 22 دی 1387, 09:48 صبح
مرسی از راهتماییتون.
برنامه من مربوط به import , export اطلاعات دیتا گریده. فقط دیتا گرید... با فرمت هایی که تو پست اول گذاشتم. اما میشه بگید این کار رو بدون نصب آفیس چطور میشه انجام داد؟ dll هایی که باید استفاده کنم چی هستند؟

parsehvb
یک شنبه 22 دی 1387, 10:14 صبح
شاید ربطی نداشته باشه ولی راحت ترین راه اینه که از CrystalReportViewer استفاده کنی.
یعنی اگه اطلاعات DataGridView را به گزارش در کریستال تبدیل کنی ، این امکان در ان هست که گزارشات رو به صورت Pdf,Word و ... تبدیل کنی ;)
این راهنمائی از جوابهای من بسیار بهتر است و به نظر من هم بهترین انتخاب استفاده از کریستال ریپورت هست چون برای انجام این کار به صورت مستقیم دچار زحمات بسیاری می شوید

mehrnoosh_al62
یک شنبه 22 دی 1387, 10:23 صبح
این راهنمائی از جوابهای من بسیار بهتر است و به نظر من هم بهترین انتخاب استفاده از کریستال ریپورت هست چون برای انجام این کار به صورت مستقیم دچار زحمات بسیاری می شوید


متشکرم ولی نمیخوام از کریستال استفاده کنم و میخوام این کار رو مستقیم انجام بدم...

mehrnoosh_al62
یک شنبه 22 دی 1387, 11:14 صبح
دوستان من خیلی جستجو کردم ولی در مورد pdf هنوز چیزی پیدا نکردم. میتونید کمک کنید؟ چطور اطلاعات دیتاگرید رو به فرمت pdf در بیارم؟

parsehvb
یک شنبه 22 دی 1387, 11:15 صبح
رو پروژه خودت این dll ها رو از سربرگ com تو پروژه خودت add کن
Microsoft Office 12.0 Object library
و با توجه به نیازی که به هر کدام دارید این dllها رو اضافه کنید
Microsoft Exel 12.0 Object library
Microsoft Word 12.0 Object library
Microsoft Access 12.0 Object library
باز هم نسبت به نیاز کامپوننتهای دیگه ای هم است که فعلا به بحث ما ارتباطی ندارد

mehrnoosh_al62
یک شنبه 22 دی 1387, 11:16 صبح
رو پروژه خودت این dll ها رو از سربرگ com تو پروژه خودت add کن
Microsoft Office 12.0 Object library
و با توجه به نیازی که به هر کدام دارید این dllها رو اضافه کنید
Microsoft Exel 12.0 Object library
Microsoft Word 12.0 Object library
Microsoft Access 12.0 Object library
fhc


ممنونم
با استفاده از این dll ها نیازی به نصب آفیس نیست؟

parsehvb
یک شنبه 22 دی 1387, 11:17 صبح
خیر نیازی نیست
ببین دوست من نصب آفیس برای اینه که شما بتوانید این فایلها رو که ذخیره کردید ببینید فقط همین ، پس نبودن آن در جائی که خود برنامه آنها رو نشان میدهد اشکالی نداره
البته این کامپوننتها که نام بردم برای office 12 است و برای استفاده از کامپوننتهای office 2003 ورژن 8 رو کنار کامپوننتها به جای 12 بگذارید

این موردی که ذکر کردم برای این است که فایلهایی که ذخیره میشود فقط با همان ورژنی که کامپوننت آن استفاده شده قابل مشاهده است

mehrnoosh_al62
یک شنبه 22 دی 1387, 11:28 صبح
در مورد pdf هنوز به نتیجه نرسیدم... )-:

parsehvb
یک شنبه 22 دی 1387, 11:36 صبح
برای pdf من تا به حال کدمستقیمی ندیده ام ولی در کریستال این امر به راحتی امکانپذیر است
این کد برای ارسال گزارش(کریستال) به pdf است امیدوارم به دردتون بخوره
البته من کد رو از زمانی نوشتم که گزارش آماده ارسال است




Imports System.Data.SqlClient
Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.Shared
Public Class frm_test
Private Sub frmtest_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) HandlesMyBase.Load
Dim rpt AsNew rpt_report1
CrystalReportViewer1.ReportSource = rpt
rpt.close()
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim report AsNew rpt_report1
Dim exp_option AsNew ExportOptions
Dim pdf_exp_optin AsNew PdfRtfWordFormatOptions()
Dim disk_option AsNew DiskFileDestinationOptions()
exp_option.ExportFormatType = ExportFormatType.PortableDocFormat
pdf_exp_optin.FirstPageNumber = 1
pdf_exp_optin.LastPageNumber = 20
pdf_exp_optin.UsePageRange = True
exp_option.ExportFormatOptions = pdf_exp_optin
disk_option.DiskFileName =

"c:\pdf_report1"
exp_option.destianationoption = disk_option
report.export(exp_option)
report.close()

End Sub
End Class

mehrnoosh_al62
یک شنبه 22 دی 1387, 11:57 صبح
مرسی از اینکه وقت میگذارید
ولی من این کار رو باید به صورت مستقیم انجام بدم. کار نشد نداره...

parsehvb
یک شنبه 22 دی 1387, 12:04 عصر
از اینجا به بعد دیگه شرمنده آی کیو ما تا اینجا جواب می داد با این حال یه نگاهی به وب میندازم اگه چیزی دیدم بهت خبر میدم

mehrnoosh_al62
یک شنبه 22 دی 1387, 12:23 عصر
از اینجا به بعد دیگه شرمنده آی کیو ما تا اینجا جواب می داد با این حال یه نگاهی به وب میندازم اگه چیزی دیدم بهت خبر میدم

دشمنتون شرمنده تا همین جا هم خیلی کمک کردین
من شرمندم :خجالت::خجالت::خجالت: ممنونم به خاطر وقتی که میگذارید:لبخندساده:

arsalansalar
یک شنبه 22 دی 1387, 17:18 عصر
دوستان عزيز كسي مثال عملي دارد مه در آن از crystalreport viewer استفاده شده باشد؟نحوه كاركرد آن به چه صورت است؟

parsehvb
یک شنبه 22 دی 1387, 17:27 عصر
یه مژده برای دوستان عزیز
این هم یک نمونه کامل برای تبدیل فرمتهای access و exel و CSV و DataTable و txt به Pdf
با dll

mehrnoosh_al62
دوشنبه 23 دی 1387, 08:42 صبح
دوستان، اگه بازم نمونه هایی تو این زمینه دارید بگذارید تا همه استفاده کنیم. در رابطه با کلیه فرمت ها...

mehrnoosh_al62
دوشنبه 23 دی 1387, 15:14 عصر
یه مژده برای دوستان عزیز
این هم یک نمونه کامل برای تبدیل فرمتهای access و exel و CSV و DataTable و txt به Pdf
با dll

مرسی به خاطر برنامتون. ولی من نمیتونم برنامه رو اجرا کنم. وقتی تو حالت DataTable میذارم و Convert رو میزنم ارور زیر رو میده:

اصلا چجوری باید با این برنامه کار کنم؟
در ضمن این فایل dll که گذاشتید نسخه Trial فایله؟

parsehvb
دوشنبه 23 دی 1387, 16:45 عصر
بله دوست عزیز

این نسخه پولی هست و به خاط مغیرت با قوانین تاپیک نمیشه اسمی از اون چیز ها برد (ک*ر*ک)

با عرض پوزش یه 2 ، 3 باری به خاطر این موضوع محروم شده ام ، شرمنده

mehrnoosh_al62
سه شنبه 24 دی 1387, 07:50 صبح
خوب اگه پولی باشه که نمیتونم ازش استفاده کنم...
هیچ راه دیگه ای برای تبدیل PDF نیست. خودمم خیلی جستجو کردم ولی بی نتیجه بود...

mehrnoosh_al62
سه شنبه 24 دی 1387, 09:02 صبح
دوستان کدهایی که استفاده کردم واسه Office2007 ارور داره. ممکنه اگه نمونه کد برای Excel و Word دارید برام بگذارید...
در مورد PDF هم هنوز مشکل دارم...

parsehvb
سه شنبه 24 دی 1387, 09:44 صبح
دوست عزیز دیگه از اینجا به بعدش که فکرنمی کنم زیاد سخت باشه تو بازار پر از پکهای کامپوننتهای رجیستر شده و یا حتی غیر قانونی هست شما هم نحوه استفاده از کامپوننت رو یاد گرفتی و هم نام کامپوننت مربوط رو پس زحمت آخر به گردن خودتون
باز هم شرمنده که .....

mehrnoosh_al62
سه شنبه 24 دی 1387, 10:50 صبح
:لبخند::لبخند:
مرسی از راهنماییتون بازم دشمنتون شرمنده...
من بازم میگردم، از سر نختون ممنون. اما در مورد execl با Excel2007 هنوز مشکل دارم...


For Each dc As DataColumn In dt.Columns
XSheet.Cells(1, c) = dc.ColumnName.ToString
XSheet.Cells(1, c).Font.Bold = True
c += 1
Next

تو این قسمت ارور زیر رو میده...

Exception from HRESULT: 0x800A03EC

mehrnoosh_al62
چهارشنبه 25 دی 1387, 07:58 صبح
مشکلم با Excel حل شد. فقط در مورد PDF مشکل دارم.
در ضمن چطور میتونم یه فایل XML رو از داخل برنامه باز کنم؟

parsehvb
چهارشنبه 25 دی 1387, 08:55 صبح
مشکلم با Excel حل شد. فقط در مورد PDF مشکل دارم.
در ضمن چطور میتونم یه فایل XML رو از داخل برنامه باز کنم؟

منظورتون از این جمله ((از داخل باز کنم)) چیست؟

mehrnoosh_al62
چهارشنبه 25 دی 1387, 09:41 صبح
از داخل برنامه باز کنم..
یعنی از تو برنامه با کد یه فایل XML رو باز کنم...
Open XML File As Read Only

parsehvb
چهارشنبه 25 دی 1387, 11:42 صبح
دقیقاً عکس عمل برنامه نمونه رو انجام بده و با یک openfiledialog این فایل رو بخون و در خاصیت datasource گرید خودت قرار بده

mehrnoosh_al62
چهارشنبه 25 دی 1387, 12:21 عصر
این کار رو میکنم ولی نمیشه
میشه بگید چطور؟ البته ببخشید...

parsehvb
جمعه 27 دی 1387, 09:57 صبح
یه نگاهی به این آدرش بنداز بدک نیست توضیحات کاملی رو پیدا می کنی



http://helpcentral.componentone.com/CS/forums/12.aspx

mehrnoosh_al62
دوشنبه 30 دی 1387, 08:49 صبح
سلام دوستان اینم یه برنامه برای تبدیل اطلاعات دیتاگرید به فرمت Pdf به صورت مستقیم و بدون نیاز به CrystalReport
البته این برنامه برای تبدیل از DataTable استفاده میکنه...

http://barnamenevis.org/forum/showthread.php?t=130290&page=5

reza10203045
دوشنبه 30 دی 1387, 22:22 عصر
به برنامه هم یه نگاه بندازید
27541

mehrnoosh_al62
چهارشنبه 02 بهمن 1387, 08:39 صبح
دوستان من تقریبا این برنامه رو برای Export اطلاعات دیتا گرید به فرمت های مختلف کامل کردم. اما مشکل اینجاست که برای تبدیل به Word و Excel حتمب باید MS Office نصب باشه. کسی کدی داره که بشه این کار رو بدون نصب MS Word و MS Excel انجام داد...؟؟؟

b7rv1mn
جمعه 25 اردیبهشت 1388, 00:38 صبح
براي نوشتن xml در VB.net ميتوانيد از اين كد ها استفاده كنيد.


Dim serializer AsNew System.Xml.Serialization.XmlSerializer(GetType(Dou ble()))
Dim arr() AsDouble = {25.5#, 72.5#, 14.1#, 110.3#}
Using file AsNew System.IO.FileStream("c:\file.xml", IO.FileMode.OpenOrCreate, IO.FileAccess.Write)
serializer.Serialize(file, arr)
EndUsing


و براي خواندن آن از اين كدها



Dim serializer AsNew System.Xml.Serialization.XmlSerializer(GetType(Dou ble()))
Dim arr() AsDouble

Using file AsNew System.IO.FileStream("c:\file.xml", IO.FileMode.Open, IO.FileAccess.Read)
arr = TryCast(serializer.Deserialize(file), Double())
EndUsing

mina.net
جمعه 15 خرداد 1388, 22:41 عصر
سلام دوستان
من می خوام بدونم چطور می شه مقادیری رو بدون سیو کردن از SQL یا از دیتا گرید در اکسل نمایش داد.

anooshiran
جمعه 15 خرداد 1388, 23:18 عصر
سلام دوستان
من می خوام بدونم چطور می شه مقادیری رو بدون سیو کردن از SQL یا از دیتا گرید در اکسل نمایش داد.

سلام دوست عزيز

در صفحات اول همين تاپيك نمونه هايي مطرح شده است. باز هم اگر به نتيجه نرسيدي بگو تا يك پروژه نمونه برايت در سايت بگذارم

mina.net
شنبه 16 خرداد 1388, 12:11 عصر
سلام دوست عزيز

در صفحات اول همين تاپيك نمونه هايي مطرح شده است. باز هم اگر به نتيجه نرسيدي بگو تا يك پروژه نمونه برايت در سايت بگذارم

سلام دوست عزیز
من صفحات قبل رو خوندم ولی موردی که بدون سیو کردن اطلاعات sql یا DATAGRIDVIEW رو نمایش بده نیافتم. در ضمن نمی دونم چرا برای من همون هم کار نکرد.
و وقتی برنامه به خط زیر می رسه
oWorkBook = oExcel.Workbooks.Add
خطا زیر صادر می شه
Old format or invalid type library. (Exception from HRESULT: 0x80028018 (TYPE_E_INVDATAREAD))

از کدی هم که استفاده کردم در زیر قرار دادم.


SaveFileDialog1.Filter = "*.xls|*.xls"
SaveFileDialog1.ShowDialog()
If SaveFileDialog1.FileName <> "" Then
Dim oExcel As Object
Dim oWorkBook As Object
Dim oSheet As Object
oExcel = CreateObject("Excel.Application")
oWorkBook = oExcel.Workbooks.Add
oExcel.visible = True
Dim c, r As Integer
Dim ColNum As Integer = DG2.ColumnCount
Dim RowNum As Integer = DG2.RowCount
Dim col As Integer = 65
oSheet = oWorkBook.worksheets(1)
For c = 1 To ColNum
oSheet.Range(CStr(Chr(col) & 1)).Value = DG2.Columns(c - 1).HeaderText
col += 1
Next
For r = 1 To RowNum
For c = 1 To ColNum
oSheet.Cells(r + 1, c) = DG2.Rows(r - 1).Cells(c - 1).Value
Next
Next
oWorkBook.SaveAs(SaveFileDialog1.FileName, True)
oSheet = Nothing
oWorkBook = Nothing
oExcel = Nothing
End If


البته من هدفم فقط نمایش بدون تاخیر به کاربر هست و معمولا کاربر اهتیاجی به سیو کردن ندارد و اگر هم خواست می تونه بعد از مشاهده سیو کنه.

من یک مطلبی رو تو کد پروجکت دیدم به نظرم جالب بود . از ابزارهای خاصی استفاده شده بود خودم که چیزی سر در نیاوردم. لینکش رو می زارم دوستان با تجربه تر ببین و برای ما هم توضیح بدن.
http://www.codeproject.com/KB/vb/exportdatabasetoexcel.aspx
بازم ممنون از توجهی که دارید.

khengool
جمعه 20 شهریور 1388, 18:49 عصر
رو پروژه خودت این dll ها رو از سربرگ com تو پروژه خودت add کن
Microsoft Office 12.0 Object library
و با توجه به نیازی که به هر کدام دارید این dllها رو اضافه کنید
Microsoft Exel 12.0 Object library
Microsoft Word 12.0 Object library
Microsoft Access 12.0 Object library
باز هم نسبت به نیاز کامپوننتهای دیگه ای هم است که فعلا به بحث ما ارتباطی ندارد

من توی سربرگ com این dll ها رو ندارم،از کجا میتونم گیرشون بیارم
مرسی

adeli.mehdi
یک شنبه 09 خرداد 1395, 12:54 عصر
ببخشید من از دیتا گرید تلریک استفاده می کنم وقتی این کد می نویسم یک ارور میگیره خیلی وقته دنبالم متوجه نشد اخرش مشکل از کجاس که اگر گرید ویو وعمولی استفاده کنم درسته ولی اگر تلریک استفاده کنم این مشکل پیش میاد
Error ۵ Argument 1: cannot convert from ‘Telerik.WinControls.UI.RadGridView’ to ‘System.Web.UI.WebControls.GridView