从DataGridView导出到Excel&数据边界

时间:2016-12-22 12:22:16

标签: excel vb.net datagridview

如何在Excel中导出数据周围创建边框?我导出这样的数据:

For i = 0 To ds1.Tables(0).Rows.Count - 1
    For j = 1 To ds1.Tables(0).Columns.Count - 1
        xlWorkSheet.Cells(i + 1, j) = ds1.Tables(0).Rows(i).Item(j)
    Next
Next

1 个答案:

答案 0 :(得分:1)

您可以通过将xlWorksheet.Range.Borders.LineStyle设置为等于Excel.XlLineStyle枚举之一来创建边框:

xlWorksheet.Range("A1:B2").Borders.LineStyle = Excel.XlLineStyle.xlContinuous

Borders.Linestyle默认设置单元格所有边的边框。如果你只想做卖出的一面,你只需要向Borders添加一个border enum参数,如下所示:

xlWorksheet.Range("A1:B2").Borders(Excel.XlBordersIndex.xlEdgeBottom).LineStyle = Excel.XlLineStyle.xlContinuous

一旦开始输入,Visual Studio的intellisense将显示xlBordersIndexes和XlLineStyles的不同选项

  

编辑:要突出显示刚刚导出的内容,请使用行数和列数来定义范围:

xlWorksheet.Range(xlWorksheet.Cells(1, 1), xlWorksheet.Cells(ds1.Tables(0).Rows.Count, ds1.Tables(0).Columns.Count)).Borders.LineStyle = Excel.XlLineStyle.xlContinuous

请注意,上面的代码只是您导出的第一个数据集的示例,对于其余数据集,您必须稍微修改该行。范围起始单元格必须设置为您开始导出第二个数据集而不是单元格(r1,c1)的任何位置。范围的结束单元格将是单元格([startrow + ds.rows.count],[startcol + ds.columns.count])......类似这样:

Dim startrow As Integer = 50
Dim startcol As Integer = 1
xlWorksheet.Range(xlWorksheet.Cells(startrow, startcol), xlWorksheet.Cells(startrow + ds1.Tables(0).Rows.Count, startcol + ds1.Tables(0).Columns.Count)).Borders.LineStyle = Excel.XlLineStyle.xlContinuous