View Full Version : سوال: انتقال اطلاعات GridView به مستقیما به اکسل
abbasjafarnezhad
دوشنبه 08 تیر 1388, 16:48 عصر
با سلام
من می خواهم اطلاعات GridViewرا به نرم افزار اکسل منتقل کنم در این رابطه کدی وجود دارد که در #C هیچ مشکلی ندارد ولی در vb در خط 11 به RenderControl خطا می گیرد لطفا من را راهنمایی کنید
کد انتقال اطلاعات به اکسل
1 dim frmhtm As New HtmlForm
2 Response.Clear()
3 Response.ContentType = "application/vnd.ms-excel"
4 Response.AddHeader("content-disposition", "attachment;filename=GridView1.xls")
5 Response.Charset = ""
6 Response.Cache.SetCacheability(HttpCacheability.No Cache)
7 Dim stringWrite As System.IO.StringWriter = New System.IO.StringWriter
8 Dim htmlWrite As HtmlTextWriter = New HtmlTextWriter(stringWrite)
9 frmhtm.Controls.Add(GridView1)
10 Me.Controls.Add(frmhtm)
11 frmhtm.RenderControl(htmlWrite)
12 GridView1.AllowPaging = False
13 Response.Write(stringWrite.ToString())
14 Response.End()
15 GridView1.AllowPaging = True
asp2.net
سه شنبه 09 تیر 1388, 20:50 عصر
گفتيد كد #C هیچ مشکلی نداشت .كد #C اينجا قرار دهيد تا من كد Vb را براي شما بگويم.
abbasjafarnezhad
پنج شنبه 11 تیر 1388, 07:42 صبح
با سلام
دوست عزیز این هم کد #C ولی کد vbرا در render contorol اشکال می گیرد
با تشکر از کلیه برنامه نویسان:تشویق::تشویق::تشویق:: شویق:
();HtmlForm frm = new HtmlForm
Response.Clear();
Response.AddHeader("Content-Disposition", "Attachment; FileName = Report.xls");
Response.Charset = "";
Response.Cache.SetCacheability(HttpCacheability.No Cache);
Response.ContentType = "Application/vnd.xls";
System.IO.StringWriter stringWrite = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);
frm.Controls.Add(grdView);
this.Controls.Add(frm);
frm.RenderControl(htmlWrite);
Response.Write(stringWrite.ToString());
Response.End();
Afshin160
شنبه 13 تیر 1388, 13:50 عصر
سلام ...
يه سري به اين لينك بزن :
http://barnamenevis.org/forum/showthread.php?t=165068
[/URL]
http://barnamenevis.org/forum/showthread.php?t=163404 (http://barnamenevis.org/forum/showthread.php?t=165068)
[URL]http://support.microsoft.com/kb/306397
http://barnamenevis.org/forum/showthread.php?t=117695
يه سري فايل آموزشي گذاشتم .
موفق باشيد .
asp2.net
یک شنبه 14 تیر 1388, 07:43 صبح
من هردو كد را بررسي كردم هيچ مشكلي نداشت فقط وقتي در GridView خواص صفحه بندي را
True كنيم جواب نمي ده.
abbasjafarnezhad
چهارشنبه 17 تیر 1388, 17:18 عصر
با سلام
دوست عزیز جناب اقای افشین لینکهای کاملا درستی را داده بودی اما مشکلی که وجود دارد این است که اطلاعات را به اکسل می برد ولی آنها را از لحاظ فونت به می ریزد و از یونیکد (UTF-8) نیز استفاده کردیم ولی جواب نداد اگر با این یونیکد قابل حل است در کدام قسمت با ید اضافه شود
من کدها را از این لینک گرفتم
http://barnamenevis.org/forum/showthread.php?t=165068
با تشکر :تشویق::تشویق::تشویق::تشویق:
Afshin160
پنج شنبه 18 تیر 1388, 08:45 صبح
سلام ..
دوست عزيز ... كدها مشكلي ندارن امتحان كردم .... نمي دونم شايد احتياج به فونت داشته باشيد ...
ولي به هر حال يه فايل ديگه در پست 3 اينك زير هست كه تا حالا چند تا از دوستان ازش استفاده كردن و راضي هم بودن :اينو امتحان كن ....
http://barnamenevis.org/forum/showthread.php?t=117695
راستي اصلا" يه فصل رايگان از يه كتاب دارم كه توضيح مفصلي را در اين رابطه داره ... ولي چون ممكنه مقايير با قوانين سايت باشه نمي تونم اينجا بگذارم ....... ولي اگه كارت راه نيفتاد بگو تا لينكش رو برات ارسال كنم ..
موفق باشيد
mohsen_metn
سه شنبه 06 مرداد 1388, 14:18 عصر
سلام
من در استفاده از این برنامه دچار مشکل شدم. البته من از کد C# استفاده می کنم در خط زیر
grdGridView.RenderControl(htmlWrite);
به من پیغام زیر را می دهد
RegisterForEventValidation can only be called during Render();
naeeme
چهارشنبه 07 مرداد 1388, 08:12 صبح
من کدی که باقی دوستان معرفی کردند رو ندیدم اما این فایلی که ضمیمه کرد کدی هست که خودم دارم استفاده می کنم و تا امروز باهاش مشکلی نداشتم. امیدوارم به دردتون بخوره. این کد یک گرید دریافت می کنه و خروجیش اکسل هست.
mohsen_metn
چهارشنبه 07 مرداد 1388, 10:22 صبح
من کدی که باقی دوستان معرفی کردند رو ندیدم اما این فایلی که ضمیمه کرد کدی هست که خودم دارم استفاده می کنم و تا امروز باهاش مشکلی نداشتم. امیدوارم به دردتون بخوره. این کد یک گرید دریافت می کنه و خروجیش اکسل هست.
من از C# استفاده می کنم میشه کد C# هم بذارید؟
naeeme
چهارشنبه 07 مرداد 1388, 10:48 صبح
من از C# استفاده می کنم میشه کد C# هم بذارید؟
با استفاده از این سایت (http://www.developerfusion.com/tools/convert/csharp-to-vb/)، کد رو تبدیل به C# کنین.
mastaneh110
چهارشنبه 18 فروردین 1389, 09:00 صبح
از این کد در ادامه استفاده کنید :
public override void VerifyRenderingInServerForm(Control control)
{
// Confirms that an HtmlForm control is rendered for the
}
maxpayn2
چهارشنبه 18 فروردین 1389, 11:25 صبح
با استفاده از این dll کار خیلی راحته :
<%@ Register Assembly="ExportToExcel" Namespace="KrishLabs.Web.Controls" TagPrefix="RK" %>
<RK:ExportToExcel ID="ExportToExcel1" runat="server" ApplyStyleInExcel="True" Charset="utf-8"
ContentEncoding="utf-8" EnableHyperLinks="True" ExportFileName="FileName.xls"
IncludeTimeStamp="True" PageSize="All" Text="خروجی با فرمت اکسل" Font-Names="Tahoma" Visible="true" />
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.