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 > ต้องการกำหนดขนาด font ให้ Loop เพิ่มรายละเอียดข้อมูลใน Excel



 

ต้องการกำหนดขนาด font ให้ Loop เพิ่มรายละเอียดข้อมูลใน Excel

 



Topic : 132158



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



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




ต้องการกำหนดขนาด font ของLoop เพิ่มรายละเอียดข้อมูล ตั้งแต่บรรทัดที่6 เป็นต้นไปให้มีขนาด font เท่ากับ 7 ต้องเพิ่มโค๊ดอะไรครับ

ดดพดพด


อันนี้โค๊ดที่ใช้

Code (VB.NET)
Private Sub GirdToExcel(ByRef dgvw As DataGridView)
        Dim excel As New Microsoft.Office.Interop.Excel.Application
        Dim Libro As Microsoft.Office.Interop.Excel.Workbook
        Dim Hoja As Microsoft.Office.Interop.Excel.Worksheet
        Dim col As Integer = dgv1.ColumnCount
        Dim row As Integer = dgv1.RowCount
        Libro = excel.Workbooks.Add
        Hoja = excel.Worksheets.Add()

        excel.Workbooks(1).Worksheets(1).cells(1, 1).columnWidth = 10
        excel.Workbooks(1).Worksheets(1).cells(1, 1).RowHeight = 20

        With excel.ActiveSheet.Range("A1:P1")
            .MergeCells = True
        End With

        With excel.ActiveSheet.Range("A3:P3")
            .MergeCells = True
        End With

        For i As Integer = 1 To col
            Hoja.Cells.Item(1, i) = dgv1.Columns(i - 1).Name.ToString
        Next

        excel.Workbooks(1).Worksheets(1).cells(1, 1).value = "รายงานการรับงานของเจ้าหน้าที่ประเมินตามวันที่"

        excel.Workbooks(1).Worksheets(1).cells(3, 1).value = "จากวันที : " & dtp1.Value.ToShortDateString() & "  " & "ถึงวันที่ : " & dtp2.Value.ToShortDateString()

        excel.Workbooks(1).Worksheets(1).cells(5, 1).value = "หลักประกัน"
        excel.Workbooks(1).Worksheets(1).cells(5, 2).value = "วันที่รับงาน"
        excel.Workbooks(1).Worksheets(1).cells(5, 3).value = "ชื่อ"
        excel.Workbooks(1).Worksheets(1).cells(5, 4).value = "รหัสรายงาน"
        excel.Workbooks(1).Worksheets(1).cells(5, 5).value = "ตำบล"
        excel.Workbooks(1).Worksheets(1).cells(5, 6).value = "อำเถอ"
        excel.Workbooks(1).Worksheets(1).cells(5, 7).value = "จังหวัด"
        excel.Workbooks(1).Worksheets(1).cells(5, 8).value = "ประเภททรัพย์สิน"
        excel.Workbooks(1).Worksheets(1).cells(5, 9).value = "กำหนดส่ง"
        excel.Workbooks(1).Worksheets(1).cells(5, 10).value = "วันที่ส่งรายงาน"
        excel.Workbooks(1).Worksheets(1).cells(5, 11).value = "วันที่ส่ง PS"
        excel.Workbooks(1).Worksheets(1).cells(5, 12).value = "สถานะงาน"
        excel.Workbooks(1).Worksheets(1).cells(5, 13).value = "ค่าบริการ"
        excel.Workbooks(1).Worksheets(1).cells(5, 14).value = "ค่าบริการ PS"
        excel.Workbooks(1).Worksheets(1).cells(5, 15).value = "จนท.ประเมิน 1"
        excel.Workbooks(1).Worksheets(1).cells(5, 16).value = "จนท.ประเมิน 2"

        For fila As Integer = 0 To row - 1
            For e As Integer = 0 To col - 1
                Hoja.Cells.Item(fila + 6, e + 1) = dgv1.Rows(fila).Cells(e).Value

            Next
        Next
        Hoja.Rows.Item(1).font.bold = 1
        Hoja.Rows.Item(3).font.bold = 1
        Hoja.Rows.Item(5).font.bold = 1
        Hoja.Rows.Item(1).font.size = 7
        Hoja.Rows.Item(3).font.size = 7
        Hoja.Rows.Item(5).font.size = 7
        Hoja.PageSetup.Orientation = Microsoft.Office.Interop.Excel.XlPageOrientation.xlLandscape
        Hoja.Rows.Item(1).horizontalAlignment = 3
        Hoja.Rows.Item(3).horizontalAlignment = 3
        Hoja.Columns.AutoFit()
        excel.Application.Visible = True
        excel.Application.WindowState = Microsoft.Office.Interop.Excel.XlWindowState.xlMaximized
        Hoja = Nothing
        Libro = Nothing
        excel = Nothing
    End Sub




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







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2018-09-26 16:50:37 By : futurezax View : 1289 Reply : 4
 

 

No. 1



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



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


ไม่แน่ใจว่าถูกไหมนะ
Code (VB.NET)
For fila As Integer = 0 To row - 1
  For e As Integer = 0 To col - 1
   Hoja.Cells.Item(fila + 6, e + 1) = dgv1.Rows(fila).Cells(e).Value
   Hoja.Cells(fila + 6, e + 1).Font.Size = 7
  Next
Next







แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-09-26 17:24:46 By : realizejoke
 


 

No. 2



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



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

ผมว่า ทางที่ดี ควร สร้างไฟล์ excel ต้นแบบมาใช้งานจะเหมาะกว่า
เพราะจากที่ดู จะต้องจัดกันอีกเยอะ ถึงจะเข้าที่
การใช้งาน จะ ก๊อบ ไฟล์ ไปเปลี่ยนชื่อ หรือ เซพทับไฟล์เดิมก็ขึ้นกับ จขกท
จัดหน้าสวยๆหล่อ ๆเอา ที่ถูกใจ แล้วก็ให้เป็น ไฟล์ blank ข้อมูลว่างๆ

เวลาเรียกใช้ก็แค่ วนลูป ป้อนข้อมูล เราจะได้ไม่ต้อง เสียเวลา สร้างหน้าตาใหม่ทุกครั้งครับ

อย่างผลสอบเทียบของผมก็จะประมาณนี้ครับ

555

แล้วก็เขียนโค้ดใส่ข้อมูลลงไป จะง่ายกว่าที่เราเขียนโค้ดที่จะมาออกแบบ excel
เพราะเราต้องมานั่ง รันแล้วรันอีก ว่ามันสวยใช้ได้รึยัง
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-09-26 18:29:37 By : lamaka.tor
 

 

No. 3



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



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


ตอบความคิดเห็นที่ : 2 เขียนโดย : lamaka.tor เมื่อวันที่ 2018-09-26 18:29:37
รายละเอียดของการตอบ ::
มีบทความหรือวิธีการทำไหมครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-09-27 10:04:57 By : futurezax
 


 

No. 4



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



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

ตอบความคิดเห็นที่ : 3 เขียนโดย : futurezax เมื่อวันที่ 2018-09-27 10:04:57
รายละเอียดของการตอบ ::
หลักการมีแค่

1. สร้างไฟล์ excel ต้นแบบปล่าวๆ ขึ้นมา 1 ไฟล์
2. ตอนใช้งาน เขียนโค้ด
Code (VB.NET)
System.IO.File.Coppy("ไฟล์ต้นแบบ","ไฟล์ปลายทาง")

3. วนลูปข้อมูลเพื่อเอา ข้อมูลไปใสใน excel

ซึ่งเราจะตัด

Code (VB.NET)
 excel.Workbooks(1).Worksheets(1).cells(5, 1).value = "หลักประกัน"
        excel.Workbooks(1).Worksheets(1).cells(5, 2).value = "วันที่รับงาน"
        excel.Workbooks(1).Worksheets(1).cells(5, 3).value = "ชื่อ"
        excel.Workbooks(1).Worksheets(1).cells(5, 4).value = "รหัสรายงาน"
        excel.Workbooks(1).Worksheets(1).cells(5, 5).value = "ตำบล"
        excel.Workbooks(1).Worksheets(1).cells(5, 6).value = "อำเถอ"
        excel.Workbooks(1).Worksheets(1).cells(5, 7).value = "จังหวัด"
        excel.Workbooks(1).Worksheets(1).cells(5, 8).value = "ประเภททรัพย์สิน"
        excel.Workbooks(1).Worksheets(1).cells(5, 9).value = "กำหนดส่ง"
        excel.Workbooks(1).Worksheets(1).cells(5, 10).value = "วันที่ส่งรายงาน"
        excel.Workbooks(1).Worksheets(1).cells(5, 11).value = "วันที่ส่ง PS"
        excel.Workbooks(1).Worksheets(1).cells(5, 12).value = "สถานะงาน"
        excel.Workbooks(1).Worksheets(1).cells(5, 13).value = "ค่าบริการ"
        excel.Workbooks(1).Worksheets(1).cells(5, 14).value = "ค่าบริการ PS"
        excel.Workbooks(1).Worksheets(1).cells(5, 15).value = "จนท.ประเมิน 1"
        excel.Workbooks(1).Worksheets(1).cells(5, 16).value = "จนท.ประเมิน 2"


ตัว
Code (VB.NET)
excel.Workbooks(1).Worksheets(1).cells(3, 1).value = "จากวันที : " & dtp1.Value.ToShortDateString() & "  " & "ถึงวันที่ : " & dtp2.Value.ToShortDateString()

เราก็จัดสวยๆหน่อย
เอา "จากวันที : " และ "ถึงวันที่ : " ไปใส่ใน ฟอร์มเลย แยกเป็น 2 Cell

เราก็แค่เติม

excel.Workbooks(1).Worksheets(1).cells(3, 1).value = dtp1.Value.ToShortDateString()
excel.Workbooks(1).Worksheets(1).cells(5, 1).value = dtp2.Value.ToShortDateString()

แยกเป็น 2 Cell

แค่นี้ก็งามตามแล้วครับ
อ่อๆๆ อย่าลืม ทำเส้นตารางด้วยนะครับ

ส่วน เนื้อหาต่างๆ ที่ต้องวนลูกก็วนลูปได้ปกติ ครับ

สิ่งที่สำคัญในการเล่นกับ excel คือ มัน มีหน้า
ถ้าเราวนไปเรื่อยๆ โดยไม่จัดเป็นหน้าๆ จะเห็นว่า พอแถวมันเยอะจนต้องขึ้นหน้า 2 เราจะไม่มีหัวเรื่อง
ดังนั้นก็กำหนด แถว ใน for loop ได้เลย อย่าง เช่น 1 หน้า ให้มีซัก 20 แถว
พอเกิน 20 แถวก็ให้ขึ้นหน้าใหม่

การสร้างฟอร์ม ใน excel ไว้รองรับ จะช่วยกะได้ว่า หน้า 2 เริ่มจากแถวที่เท่าไหร่

เช่น

222

ตัวนี้ผมเตรียมเผื่อไว้ 3 หน้า
จะสังเกตว่า พอเรา Add data เข้าไป ถึง แถวที่ 43 มันจะต้องข้ามไป Add data ในแถวที่ 60
ลองคิดเล่นๆดูครับ ว่าจะวนลูปยังไง



แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-09-27 10:52:42 By : lamaka.tor
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ต้องการกำหนดขนาด font ให้ Loop เพิ่มรายละเอียดข้อมูลใน 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 05
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 อัตราราคา คลิกที่นี่