我正在复制gridview值,该值在剪贴板中有超过20列和500多行,并将该值复制到excel文件中。
Dim excelApp As New Excel.Application
Dim aWorkbook As Excel.Workbook
aWorkbook = excelApp.Workbooks.Add()
excelApp.Visible = False
Dim strWorkSheetName As String = "MyData"
Dim aWorkSheet As Excel.Worksheet
aWorkSheet = aWorkbook.Sheets.Add()
aWorkSheet.name = TextBox1.Text
aWorkSheet.Activate()
Dim intRows As Integer = DataGridView1.SelectedRows.Count
Dim strRangeString As String = "C4:G" & intRows.ToString
'Open the existing Template
Dim _Tpath As String = Application.StartupPath & "\Template.xlsx"
aWorkbook = excelApp.Workbooks.Add(_Tpath)
Dim alpha As String
Dim num As Integer
Dim cell As String
Dim count As Integer = 0
For Each col As DataGridViewColumn In DataGridView1.Columns
alpha = Convert.ToChar(65 + count)
num = Convert.ToInt32(7)
cell = Convert.ToString(alpha & "7")
aWorkSheet.Range(cell).Value = col.HeaderText.ToString
count = count + 1
Next
For row As Integer = 0 To dt2.Rows.Count - 1
For col As Integer = 0 To dt2.Columns.Count - 1
alpha = Convert.ToChar(65 + col)
num = Convert.ToInt32(8 + row)
cell = Convert.ToString(alpha & num)
aWorkSheet.Range(cell).Value = dt2(row)(col).ToString
Next
Next
但是现在我想将该剪贴板值粘贴到现有的excel文件(用作模板)上,从第7行及以上的特定位置开始。我已经编写了一些代码,其中值逐个单元地粘贴,这需要花费很多时间。有没有其他方法可以在现有的Excel文件中粘贴gridview值?
答案 0 :(得分:0)
如果您知道GridView
中有多少列和行,那么您可以使用覆盖适当大小区域的Range
来使用Worksheet.Paste()。因此,如果您的GridView
有5列和500行,并且您希望选择开始向下2行和2列,则可以执行
aWorksheet.Paste(aWorksheet.Range(aWorksheet.Cells(2,2),aWorksheet.Cells(502,7)))