Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > .NET Framework > Forum > Export Gridview to Excel ได้ แต่ gridview ไม่ออกมา



 

Export Gridview to Excel ได้ แต่ gridview ไม่ออกมา

 



Topic : 112502



โพสกระทู้ ( 31 )
บทความ ( 0 )



สถานะออฟไลน์




Export แล้วได้ตามด้านล่างเลยครับ
ถ้ามีข้อมูล ขึ้นแบบรูปที่ 1
Excel1
ถ้าไม่มีข้อมูล ขึ้นแบบที่ 2 ตาม datatextempty ที่กำหนด
Excel2

รบกวนด้วยครับ





Code (VB.NET)
Private Sub ExportGridView()
Dim Result As New DataTable
        dgvInvent.DataSource = Result
        dgvInvent.DataBind()

        Dim passedArgument As String = Request.Params.[Get]("__EVENTARGUMENT")
        
        Response.AddHeader("content-disposition", "attachment; filename=Inventory_Report" & Date.Now.ToString & ".xls")
        Response.ContentType = "application/vnd.ms-excel"
        Response.Charset = ""
        Me.EnableViewState = False
        Dim tw As New System.IO.StringWriter()
        Dim hw As New System.Web.UI.HtmlTextWriter(tw)
        Dim frm As HtmlForm = New HtmlForm()
        Me.Controls.Add(frm)
        frm.Controls.Add(dgvInvent)
        frm.Attributes("runat") = "server"
        frm.RenderControl(hw)
        Response.Write(tw.ToString())
        Response.End()
 End Sub



Code (ASP)
<asp:UpdatePanel ID="upInvent" runat="server">
        <ContentTemplate>
<div id="divGrid" style="width: auto; height: 600px; overflow-x: scroll;" align="center">
                <asp:GridView ID="dgvInvent" runat="server" Width="1790px"
                    Height="100%" BorderColor="Black" BorderStyle="Solid" BorderWidth="1px" BackColor="#FFF9DF"
                     Font-Size="Smaller" AutoGenerateColumns="False">
                    <Columns>
                        <asp:TemplateField HeaderText="No.">
                            <ItemTemplate>
                                <asp:Label runat="server" ID="lblNo" Text='<%# Container.DataItemIndex + 1 %>'></asp:Label>
                            </ItemTemplate>
                            <HeaderStyle BackColor="#CDFF72" ForeColor="Black" />
                            <ItemStyle HorizontalAlign="Center" />
                        </asp:TemplateField>
                        <asp:TemplateField HeaderText="MRR Number">
                            <ItemTemplate>
                                <asp:Label ID="lblMRR" runat="server" Text='<%# Eval("MRR_NO") %>'></asp:Label>
                            </ItemTemplate>
                            <HeaderStyle HorizontalAlign="Center" BackColor="#CDFF72" ForeColor="Black" />
                            <ItemStyle HorizontalAlign="Center" />
                        </asp:TemplateField>
                        <asp:TemplateField HeaderText="Project Name">
                            <ItemTemplate>
                                <asp:Label ID="lblProj" runat="server" Text='<%# Eval("Proj_name") %>'></asp:Label>
                            </ItemTemplate>
                            <HeaderStyle HorizontalAlign="Center" BackColor="#CDFF72" ForeColor="Black" />
                            <ItemStyle HorizontalAlign="Center" />
                        </asp:TemplateField>
</Columns>
                </asp:GridView>
            </div>
</ContentTemplate>
            </asp:updatepanel>




Tag : .NET, Ms SQL Server 2008, Web (ASP.NET), VB.NET, VS 2010 (.NET 4.x)









ประวัติการแก้ไข
2014-11-12 09:43:10
2014-11-12 10:24:08
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2014-11-12 09:42:24 By : sadowskyz View : 1801 Reply : 4
 

 

No. 1



โพสกระทู้ ( 296 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

ผมทำใน VB หน่ะครับ เอา ข้อมูลใน Datgrid มาออก Excel ทั้งหมด ไม่ว่าข้อมูลนั้นจะมี กี่แถวกี่คอลัมน์ ให้ Get ออกมาใส่ Excel ให้หมด
โค้ดจะงงและเยอะหน่อยนะครับ ลองดู

Code (VB.NET)
For i = 1 To 10000

                    System.Threading.Thread.CurrentThread.CurrentCulture = New System.Globalization.CultureInfo("th-th")
                    Dim xlApp As Excel.Application
                    Dim xlWorkBook As Excel.Workbook
                    Dim xlWorkSheet As Excel.Worksheet

                    Dim datestr As String = Now.ToString("yyyyMMddHmmss")

                    Dim tmpRpt As String = System.Windows.Forms.Application.StartupPath & "\ReportTmp\Qry\tmpQry.xls"
                    Dim newRpr As String = tmpRpt
                    xlApp = New Excel.ApplicationClass
                    xlWorkBook = xlApp.Workbooks.Open(newRpr) 'เปิดรายงาน
                    xlWorkSheet = xlWorkBook.Worksheets("sheet1")

                    Dim countCol As Integer = DgvAllSupport.ColumnCount
                    Dim countRow As Integer = DgvAllSupport.RowCount
                    xlWorkSheet.Range("A2").Value = "ลำดับ"

                    'เพิ่ม เส้นขอบในเซลล์
                    xlWorkSheet.Range("A2").Borders(Excel.XlBordersIndex.xlEdgeTop).LineStyle = Excel.XlBorderWeight.xlHairline
                    xlWorkSheet.Range("A2").Borders(Excel.XlBordersIndex.xlEdgeLeft).LineStyle = Excel.XlBorderWeight.xlHairline
                    xlWorkSheet.Range("A2").Borders(Excel.XlBordersIndex.xlEdgeRight).LineStyle = Excel.XlBorderWeight.xlHairline
                    xlWorkSheet.Range("A2").Borders(Excel.XlBordersIndex.xlEdgeBottom).LineStyle = Excel.XlBorderWeight.xlHairline
                    dlg_ProgressTo7.Show()
                    dlg_ProgressTo7.ProgressBar1.Value = 0
                    dlg_ProgressTo7.ProgressBar1.Maximum = countRow

                    ' "กำลังใส่ลำดับ"
                    For CountNo = 1 To countRow
                        xlWorkSheet.Range("A" & CountNo + 2).Value = CountNo
                        'เพิ่ม เส้นขอบในเซลล์
                        xlWorkSheet.Range("A" & CountNo + 2).Borders(Excel.XlBordersIndex.xlEdgeTop).LineStyle = Excel.XlBorderWeight.xlHairline
                        xlWorkSheet.Range("A" & CountNo + 2).Borders(Excel.XlBordersIndex.xlEdgeLeft).LineStyle = Excel.XlBorderWeight.xlHairline
                        xlWorkSheet.Range("A" & CountNo + 2).Borders(Excel.XlBordersIndex.xlEdgeRight).LineStyle = Excel.XlBorderWeight.xlHairline
                        xlWorkSheet.Range("A" & CountNo + 2).Borders(Excel.XlBordersIndex.xlEdgeBottom).LineStyle = Excel.XlBorderWeight.xlHairline
                        dlg_ProgressTo7.ProgressBar1.Value = CountNo
                        dlg_ProgressTo7.Refresh()
                    Next CountNo
                    dlg_ProgressTo7.ProgressBar1.Value = 0
                    dlg_ProgressTo7.ProgressBar1.Maximum = countCol
                    For coli = 1 To countCol
                        Dim colname As String
                        colname = Choose(coli, "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "AA", "AB", "AC", "AD", "AE", "AF", "AG", "AH", "AI", "AJ", "AK", "AL", "AM", "AN", "AO", "AP", "AQ", "AR", "AS", "AT", "AU", "AV", "AW", "AX", "AY", "AZ", "BA", "BB", "BC", "BD", "BE", "BF", "BG", "BH", "BI", "BJ", "BK", "BL", "BM", "BN", "BO", "BP", "BQ", "BR", "BS", "BT", "BU", "BV", "BW", "BX", "BY")
                        xlWorkSheet.Range("A1").Value = Me.Text
                        xlWorkSheet.Range(colname & 2).Value = DgvAllSupport.Columns.Item(coli - 1).HeaderText
                        'เพิ่ม เส้นขอบในเซลล์
                        xlWorkSheet.Range(colname & 2).Borders(Excel.XlBordersIndex.xlEdgeTop).LineStyle = Excel.XlBorderWeight.xlHairline
                        xlWorkSheet.Range(colname & 2).Borders(Excel.XlBordersIndex.xlEdgeLeft).LineStyle = Excel.XlBorderWeight.xlHairline
                        xlWorkSheet.Range(colname & 2).Borders(Excel.XlBordersIndex.xlEdgeRight).LineStyle = Excel.XlBorderWeight.xlHairline
                        xlWorkSheet.Range(colname & 2).Borders(Excel.XlBordersIndex.xlEdgeBottom).LineStyle = Excel.XlBorderWeight.xlHairline
                        For rowi = 0 To countRow
                            Try
                                xlWorkSheet.Range(colname & rowi + 2).Value = DgvAllSupport.Rows(rowi - 1).Cells(coli - 1).Value.ToString

                                'เพิ่ม เส้นขอบในเซลล์
                                xlWorkSheet.Range(colname & rowi + 2).Borders(Excel.XlBordersIndex.xlEdgeTop).LineStyle = Excel.XlBorderWeight.xlHairline
                                xlWorkSheet.Range(colname & rowi + 2).Borders(Excel.XlBordersIndex.xlEdgeLeft).LineStyle = Excel.XlBorderWeight.xlHairline
                                xlWorkSheet.Range(colname & rowi + 2).Borders(Excel.XlBordersIndex.xlEdgeRight).LineStyle = Excel.XlBorderWeight.xlHairline
                                xlWorkSheet.Range(colname & rowi + 2).Borders(Excel.XlBordersIndex.xlEdgeBottom).LineStyle = Excel.XlBorderWeight.xlHairline


                            Catch ex As Exception
                                'MsgBox(ex.Message)
                            End Try
                            dlg_ProgressTo7.txtStatus.Text = "กำลัง Export ข้อมูล (คอลัมน์ที่ " & coli & " / " & countCol & " แถวที่ " & rowi & " / " & countRow & ")"
                        Next rowi
                        dlg_ProgressTo7.ProgressBar1.Value = coli
                    Next coli
                    MessageBox.Show("ทำการ Copy ข้อมูลทั้งหมดไปยังไฟล์ Excel เรียบร้อยแล้ว", "การทำงานเสร็จสิ้น", MessageBoxButtons.OK, MessageBoxIcon.Information)
                    xlApp.Visible = True


        Next


Datagrid ข้อมูลเยอะยิ่งนาน






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-12 12:37:10 By : zarooman
 


 

No. 2



โพสกระทู้ ( 31 )
บทความ ( 0 )



สถานะออฟไลน์


ตอนนี้ Export Header ได้แล้วครับ ปัญหาน่าจะอยู่ตรงที่จับ Rows ไม่ได้ เพราะอาจจะไม่เห็น control ข้างใน
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-12 16:21:47 By : sadowskyz
 

 

No. 3



โพสกระทู้ ( 29 )
บทความ ( 1 )



สถานะออฟไลน์


ได้ยังคะช่าง

5555555555+
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-19 16:22:16 By : PiggyGirl
 


 

No. 4



โพสกระทู้ ( 31 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 3 เขียนโดย : PiggyGirl เมื่อวันที่ 2014-11-19 16:22:16
รายละเอียดของการตอบ ::
ได้แล้วครับช่างกั้ง

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-19 16:48:36 By : sadowskyz
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : Export Gridview to Excel ได้ แต่ gridview ไม่ออกมา
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 04
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่