Visual studio 2010 VB2010 Excel自动化

Visual studio 2010 VB2010 Excel自动化,visual-studio-2010,excel,vba,datagridview,selectionchanged,Visual Studio 2010,Excel,Vba,Datagridview,Selectionchanged,我正在尝试从datagridview元素中的选定行自动填充主excel文件。我已经将数据库连接到datagrid,并尝试根据数据网格的选定行填充excel电子表格中的某些字段 Dim objExcel As New Excel.Application objExcel.Workbooks.Add("path of master workbook") ' objExcel.Visible = True 'Select and modify cells

我正在尝试从datagridview元素中的选定行自动填充主excel文件。我已经将数据库连接到datagrid,并尝试根据数据网格的选定行填充excel电子表格中的某些字段

    Dim objExcel As New Excel.Application
    objExcel.Workbooks.Add("path of master workbook")
    '
    objExcel.Visible = True

    'Select and modify cells 

    'Site(Name)

    objExcel.Range("B2").Select()
    objExcel.ActiveCell.FormulaR1C1() = 'Where I want to specify the value
根据我所做的研究,我需要使用datagrid的selectionchanged事件来识别所选行,然后根据列索引填充电子表格,然后使用循环填充其余字段。我还想通过在datagrid视图中循环选定的行来添加创建多个工作表的功能

我查看了许多不同的代码示例,用于将整个datagrid导出到Excel,但我始终无法确定如何仅获取选定行的值,然后根据列进一步获取单个单元格的值


有人能给我指出正确的方向吗,或者让我知道我完全偏离基准了吗?

要设置一个单元格的值,您可以直接使用它

objExcel.Range("B2").Value = "whatever"
不需要选择单元格来设置其值。 由于您将在行/列之间循环并插入值,您可能会发现使用不同的方法寻址特定单元格更方便:

objExcel.Cells(2,2).Value = "whatever"  'row,column
我不确定您是否需要在datagridview上捕获事件(除非您在选择行时自动写入行):我猜您有一个按钮或什么东西来触发导出,所以您只需查看dgv的
SelectedRows


您走在正确的轨道上。您可以使用
DataGridView1\u SelectionChanged
事件获取当前行的详细信息。查看此链接以与Excel form VB.Net交互一旦您获得了datagrid值,请查看此链接确定以便澄清我正在尝试做的一些事情。。。我有一个datagrid,其中填充了一个位置列表,其中包含ID、名称、地址等字段。根据所选行,我希望使用每列中的值填充工作表。我正在与“无论什么”的价值观作斗争。我希望“whatever”是datagrid选定行中的单元格值。类似于objExcel.Cells(2,2).Value=DataGridListView1.SelectedRows()?如何根据列索引从“SelectedRows”中选择唯一的单元格?同时也非常感谢您到目前为止的帮助,显然我是一个noob:-)当他们将datagrid或excel工作表设置为静态值时,查看代码示例对我来说很有意义,我只是在使用datagrid时遗漏了一些主要内容