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,027

HOME > .NET Framework > Forum > เรื่องการ Export DataGridView เป็นไฟล์ excel คับ แนะนำทีคับ



 

เรื่องการ Export DataGridView เป็นไฟล์ excel คับ แนะนำทีคับ

 



Topic : 117912



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



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




Error แบบนี้อะครับ
ฟห
ข้อมูลออกนะคับ แต่ออกไม่ครบ ละ error
ฟหด


อันนี้ code คับแนะนำทีคับ
Code (VB.NET)
Private Sub report()

        Dim i As Integer = 0
        Dim j As Integer = 5

        Dim i2 As Integer = 0
        Dim j2 As Integer = 5
        Dim ExcelApp As Excel.Application
        Dim ExcelBooks As Excel.Workbook
        Dim ExcelSheets As Excel.Worksheet

        ExcelApp = New Excel.Application
        Dim chartRange As Excel.Range


        ExcelApp.Visible = True
        ExcelBooks = ExcelApp.Workbooks.Add()
        ExcelSheets = DirectCast(ExcelBooks.Worksheets(1), Excel.Worksheet)
        ExcelSheets.Name = "กรมธรรม์"


        Dim CurrentThread As System.Threading.Thread
        CurrentThread = System.Threading.Thread.CurrentThread
        CurrentThread.CurrentCulture = New CultureInfo("en-US")
        CurrentThread.CurrentCulture = New CultureInfo("th-TH")


        Dim dsChk As New DataSet
        Dim sqlselect As String = ""
        Dim idagent As String = ""
        Dim addagent As String = ""

        With ExcelSheets


            chartRange = ExcelSheets.Range("A1", "I1")
            chartRange.Merge()
            chartRange.FormulaR1C1 = "รายงานแสดงรายละเอียดกรมธรรม์ทั้งหมด"
            chartRange.HorizontalAlignment = 3
            chartRange.VerticalAlignment = 3

            chartRange = ExcelSheets.Range("A2", "I2")
            chartRange.Merge()
            chartRange.FormulaR1C1 = "บริษัท ทิพยประกันภัย จำกัด ศูนย์ ระยอง"
            chartRange.HorizontalAlignment = 3
            chartRange.VerticalAlignment = 3




            .Range("A1").Font.Size = 20
            .Range("A2").Font.Size = 16

            '0
            .Range("A4").Value = "รหัสสาขา"
            ' .Range("A4").Borders.LineStyle = True
            '.Range("A4").Font.Bold = True
            '.Range("A4").HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter
            '1
            .Range("B4").Value = "ชื่อสาขา"
            '.Range("B4").Borders.LineStyle = True
            '.Range("B4").Font.Bold = True
            ' .Range("B4").HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter
            '2
            

            Dim t0 As String
            Dim t1 As String

            For i = 0 To DataGridView_Branch.Rows.Count - 2
                t0 = CStr(DataGridView_Branch.Rows(i).Cells(0).Value.ToString)

                t1 = CStr(DataGridView_Branch.Rows(i).Cells(1).Value.ToString)

               
                .Range("A" & j.ToString()).Value = t0.ToString

                '.Range("A" & j.ToString()).Borders.LineStyle = True
                ' .Range("A" & j.ToString()).HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter


                .Range("B" & j.ToString()).Value = t1.ToString
                '.Range("B" & j.ToString()).Borders.LineStyle = True
                ' .Range("B" & j.ToString()).HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter

               
                j += 1
            Next
            chartRange = ExcelSheets.Range("A5", "A" & j.ToString() - 1)
            chartRange.BorderAround(Excel.XlLineStyle.xlContinuous, _
            Excel.XlBorderWeight.xlThin, Excel.XlColorIndex. _
            xlColorIndexAutomatic, Excel.XlColorIndex.xlColorIndexAutomatic)

            chartRange = ExcelSheets.Range("B5", "B" & j.ToString() - 1)
            chartRange.BorderAround(Excel.XlLineStyle.xlContinuous, _
            Excel.XlBorderWeight.xlThin, Excel.XlColorIndex. _
            xlColorIndexAutomatic, Excel.XlColorIndex.xlColorIndexAutomatic)

        End With


        ExcelSheets = Nothing
        ExcelBooks = Nothing
        ExcelApp = Nothing
        '-----------------------------------------


    End Sub





Tag : .NET, Ms SQL Server 2008, VB.NET, VS 2008 (.NET 3.x)







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2015-07-20 09:28:46 By : aphisit007 View : 1777 Reply : 7
 

 

No. 1



โพสกระทู้ ( 4,436 )
บทความ ( 23 )



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

มันติดตรง j ที่เท่าไหร่ครับ

Code (VB.NET)
For i = 0 To DataGridView_Branch.Rows.Count - 2
                .Range("A" & (i-5).ToString()).Value = DataGridView_Branch(0,i).Value.ToString()

                .Range("B" & (i-5).ToString()).Value =DataGridView_Branch(1,i).Value.ToString

            Next







แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-07-20 09:49:25 By : lamaka.tor
 


 

No. 2



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



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


j ไว้ กำหนด Range อะคับ A1 A2
ข้อมูลออกบางครั้งบรรทัด ไม่เท่ากันอะคับ แล้วก็ Error
บางครั้งออก 10 บรรดทัด บางครั้งกะออก 10 กว่าบรรดทัด
แต่ code เดียวกันนี้อะคับ ยัง งงๆ


ประวัติการแก้ไข
2015-07-20 10:02:41
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-07-20 10:00:50 By : aphisit007
 

 

No. 3



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



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


ถ้าใช้ MS Excel ผมเจอปัญหาเดียวกันครับ
มันจะ Random Error
เหมือนกับว่า Excel มันทำงานไม่ทันอ่ะครับ
ลองเปลี่ยนมาเป็นตัวนี้ดูครับ
http://epplus.codeplex.com/


วิธีใช้
http://www.codeproject.com/Articles/680421/Create-Read-Edit-Advance-Excel-Report-in
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-07-20 10:13:14 By : fonfire
 


 

No. 4



โพสกระทู้ ( 4,436 )
บทความ ( 23 )



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

ตอบความคิดเห็นที่ : 2 เขียนโดย : aphisit007 เมื่อวันที่ 2015-07-20 10:00:50
รายละเอียดของการตอบ ::
ทั้งๆที่ DataGridView_Branch.Rows.Count - 2 เท่ากันเหรอครับ
งง ๆๆๆๆ ผมไม่เคยเป็น
แต่ผมใช้ 2007 ver นั้ เสถียรดีครับไม่กินแรม

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-07-20 10:38:53 By : lamaka.tor
 


 

No. 5



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



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


ยัง error อยู่เลยครับ เหมือนเดิมเลย ฮ่าๆ

Code (VB.NET)
   Private Sub report()

        Dim i As Integer = 0
        Dim j As Integer = 5
        ''''''''''''''''' บุคลากร
        Dim i2 As Integer = 0
        Dim j2 As Integer = 5
        Dim ExcelApp As Excel.Application
        Dim ExcelBooks As Excel.Workbook
        Dim ExcelSheets As Excel.Worksheet

        ExcelApp = New Excel.Application
        Dim chartRange As Excel.Range


        ExcelApp.Visible = True
        ExcelBooks = ExcelApp.Workbooks.Add()
        ExcelSheets = DirectCast(ExcelBooks.Worksheets(1), Excel.Worksheet)
        ExcelSheets.Name = "กรมธรรม์"


        Dim CurrentThread As System.Threading.Thread
        CurrentThread = System.Threading.Thread.CurrentThread
        CurrentThread.CurrentCulture = New CultureInfo("en-US")
        CurrentThread.CurrentCulture = New CultureInfo("th-TH")


        Dim dsChk As New DataSet
        Dim sqlselect As String = ""
        Dim idagent As String = ""
        Dim addagent As String = ""

        With ExcelSheets


            chartRange = ExcelSheets.Range("A1", "I1")
            chartRange.Merge()
            chartRange.FormulaR1C1 = "รายงานแสดงรายละเอียดกรมธรรม์ทั้งหมด"
            chartRange.HorizontalAlignment = 3
            chartRange.VerticalAlignment = 3

            chartRange = ExcelSheets.Range("A2", "I2")
            chartRange.Merge()
            chartRange.FormulaR1C1 = "บริษัท ทิพยประกันภัย จำกัด ศูนย์ ระยอง"
            chartRange.HorizontalAlignment = 3
            chartRange.VerticalAlignment = 3



           

            .Range("A1").Font.Size = 20
            .Range("A2").Font.Size = 16

            '0
            .Range("A4").Value = "บริษัท"
            .Range("A4").Borders.LineStyle = True
            .Range("A4").Font.Bold = True
            .Range("A4").HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter
            '1
            .Range("B4").Value = "ชื่อโรงเรียน"
            .Range("B4").Borders.LineStyle = True
            .Range("B4").Font.Bold = True
            .Range("B4").HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter
           

            Dim t0 As String
            Dim t1 As String

            For i = 0 To DataGridView_Branch.Rows.Count - 2
                t0 = CStr(DataGridView_Branch.Rows(i).Cells(0).Value.ToString)

                t1 = CStr(DataGridView_Branch.Rows(i).Cells(1).Value.ToString)
               

                .Range("A" & j.ToString()).Value = t0.ToString
                .Range("A" & j.ToString()).Borders.LineStyle = True
                .Range("A" & j.ToString()).HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter


                .Range("B" & j.ToString()).Value = t1.ToString
                .Range("B" & j.ToString()).Borders.LineStyle = True
                .Range("B" & j.ToString()).HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter

                j += 1
            Next
            chartRange = ExcelSheets.Range("A5", "A" & j.ToString() - 1)
            chartRange.BorderAround(Excel.XlLineStyle.xlContinuous, _
            Excel.XlBorderWeight.xlThin, Excel.XlColorIndex. _
            xlColorIndexAutomatic, Excel.XlColorIndex.xlColorIndexAutomatic)

            chartRange = ExcelSheets.Range("B5", "B" & j.ToString() - 1)
            chartRange.BorderAround(Excel.XlLineStyle.xlContinuous, _
            Excel.XlBorderWeight.xlThin, Excel.XlColorIndex. _
            xlColorIndexAutomatic, Excel.XlColorIndex.xlColorIndexAutomatic)

         
        End With



ประวัติการแก้ไข
2015-07-20 13:00:04
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-07-20 12:49:00 By : aphisit007
 


 

No. 6



โพสกระทู้ ( 4,436 )
บทความ ( 23 )



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

ลอง export โดยไม่เกี่ยวกับ datagrid ดูครับประมาณ

Code (VB.NET)
 For i = 0 To DataGridView_Branch.Rows.Count - 2
             't0 = CStr(DataGridView_Branch.Rows(i).Cells(0).Value.ToString)

             't1 = CStr(DataGridView_Branch.Rows(i).Cells(1).Value.ToString)
            

             .Range("A" & j.ToString()).Value = "Test A " & i 
             .Range("A" & j.ToString()).Borders.LineStyle = True
             .Range("A" & j.ToString()).HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter


             .Range("B" & j.ToString()).Value = "Test B " & i 
             .Range("B" & j.ToString()).Borders.LineStyle = True
             .Range("B" & j.ToString()).HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter

             j += 1
         Next

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-07-20 14:19:11 By : lamaka.tor
 


 

No. 7



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



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


ผมน่าจะรู้แล้วคับ คือ ผม export ละให้มัน

ExcelApp.Visible = True เลย ซึ่ง excel ผมยังไม่ได้ Activation
พอมันรันมันก็ถามจะให้ Activation โปรแกรมเลยหยุดการทำงานอะคับ
เลยตัดตรงส่วนนั้นออก ไปก่อนคับ ทำได้เลยคับ ฮ่าๆ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-07-20 16:46:14 By : aphisit007
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : เรื่องการ Export DataGridView เป็นไฟล์ excel คับ แนะนำทีคับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 อัตราราคา คลิกที่นี่