如何使用VB.net在Excel中添加边框 [英] how to add border in excel using VB.net

查看:476
本文介绍了如何使用VB.net在Excel中添加边框的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个编码,使用vb.net将datagridview导出到excel,我想要的是创建一个编码,可以围绕我从datagridview导出的数据边界像表格,如果datagridview中的数据可以自动增加它的行这是我的出口编码:



i have a coding to export datagridview to excel using vb.net, what i want is to create a coding that can amke border like table around the data that i exported from datagridview that can automatically increase it row if the data in datagridview increased.

this is my coding for export:

Private Sub ExportExcel()
       Dim xlApp As Microsoft.Office.Interop.Excel.Application
       Dim xlBook As Microsoft.Office.Interop.Excel.Workbook
       Dim xlSheet As Microsoft.Office.Interop.Excel.Worksheet
       Dim oValue As Object = System.Reflection.Missing.Value
       Dim sPath As String = String.Empty
       Dim dlgSave As New SaveFileDialog
       dlgSave.DefaultExt = "xls"
       dlgSave.Filter = "Microsoft Excel|*.xls"
       dlgSave.InitialDirectory = Application.StartupPath


       If dlgSave.ShowDialog = Windows.Forms.DialogResult.OK Then
           Try

               xlApp = New Microsoft.Office.Interop.Excel.Application


               xlBook = xlApp.Workbooks.Add(oValue)


               xlSheet = xlBook.Worksheets("sheet1")


               Dim xlRow As Long = 5
               Dim xlCol As Short = 1



               For k As Integer = 0 To DataGridView1.ColumnCount - 1



                   xlSheet.Cells(5, xlCol) = DataGridView1(k, 0).Value


                   xlCol += 1
               Next



               For i As Integer = 0 To DataGridView1.RowCount - 1

                   xlCol = 1


                   For k As Integer = 0 To DataGridView1.ColumnCount - 1
                       xlSheet.Cells(4, k + 1).Value = DataGridView1.Columns(k).HeaderText


                       xlSheet.Cells(xlRow, xlCol) = DataGridView1(k, i).Value


                       xlCol += 1
                   Next


                   xlRow += 1



               Next


               xlSheet.Columns.AutoFit()
               Dim sFileName As String = Replace(dlgSave.FileName, ".xls", "xls")


               xlSheet.SaveAs(sFileName)

               xlBook.Close()

               xlApp.Quit()


               releaseObject(xlApp)
               releaseObject(xlBook)
               releaseObject(xlSheet)



               MsgBox("Data sudah berhasil di ekspor", MsgBoxStyle.Information, "PRMS/SOB Date Tagging")
           Catch
               MsgBox(ErrorToString)
           Finally

           End Try
       End If

   End Sub
   Private Sub releaseObject(ByVal obj As Object)
       Try

           System.Runtime.InteropServices.Marshal.ReleaseComObject(obj)


           obj = Nothing
       Catch ex As Exception
           obj = Nothing
       Finally

           GC.Collect()

       End Try
   End Sub

推荐答案

形成这个你可以边界a1行明智地使用set border为你需要的表格单元格范围:



Form this you can border around a1 row that wise use set border for which cells of table you required by range:

xlRng = xlWorkSheet.Range("a1")
xlRng.EntireRow.BorderAround(Excel.XlLineStyle.xlContinuous, Excel.XlBorderWeight.xlMedium, Excel.XlColorIndex.xlColorIndexAutomatic, Excel.XlColorIndex.xlColorIndexAutomatic)





如需更多格式化操作,请点击以下链接:



http://vb.net-informations。 com / excel-2007 / vb.net_excel_page_format.htm [ ^ ]


这篇关于如何使用VB.net在Excel中添加边框的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆