Excel C#输入到特定单元格

问题描述:

我想让excel自动使用C#将数字“6”放入单元格“F6”中。我一直在寻找所有,我找不到直接的答案。我已经在C#表单中引用了excel。任何帮助是极大的赞赏Excel C#输入到特定单元格

using Excel = Microsoft.Office.Interop.Excel; 

从那儿剽窃的online documentation

var xl = new Excel.Application(); 
xl.Visible = true; 
var wb = (Excel._Workbook)(xl.Workbooks.Add(Missing.Value)); 
var sheet = (Excel._Worksheet)wb.ActiveSheet; 
sheet.Cells[6, 6] = "6"; 

其他有价值的资源可以在this question找到。

+0

谢谢,真的很好,真的很好,如果几乎完成了我写的程序。认真地感谢帮助! –

+0

感谢网站 –

+0

欢迎您:-) – Yahia

这里的代码从Excel的插件,我写加载数据库视图的一个片段。如果您想要将数据插入到一个单元格中以插入多行数据,那么它有一个重要的优化。

private void Fill() 
    { 
     if (string.IsNullOrEmpty(CurrConnectionStr)) return; 

     SelectedTable = TableComboBox.Text; 

     if (string.IsNullOrEmpty(SelectedTable)) return; 

     try 
     { 
      Globals.ThisAddIn.Application.Cells.ClearContents(); 
      var dataTable = new System.Data.DataTable(); 
      var query = string.Format(RowsQuery, SelectedTable); 
      using (var sqlDataAdapter = new SqlDataAdapter(query, CurrConnectionStr)) 
      { 
       sqlDataAdapter.Fill(dataTable); 
      } 
      var excelApplicationObject = Globals.ThisAddIn.Application; 
      int rowNumber = 1; 
      foreach (System.Data.DataColumn column in dataTable.Columns) 
      { 
       int columnNumber = dataTable.Columns.IndexOf(column) + 1; 
       excelApplicationObject.Cells[rowNumber, columnNumber].Value2 = column.ColumnName; 
      } 
      rowNumber += 1; 
      foreach (System.Data.DataRow row in dataTable.Rows) 
      { 
       excelApplicationObject 
        .Cells 
        .Range[ 
         excelApplicationObject.Cells[rowNumber, 1], 
         excelApplicationObject.Cells[rowNumber, row.ItemArray.Count()]] 
        .Value2 = row.ItemArray; 

       rowNumber++; 
      } 
      excelApplicationObject.Cells[rowNumber, 1] = "View Name: "; 
      excelApplicationObject.Cells[rowNumber, 2] = SelectedTable; 
      rowNumber += 1; 
      excelApplicationObject.Cells[rowNumber, 1] = "Saved At:"; 
      excelApplicationObject.Cells[rowNumber, 2] = DateTime.Now.ToLongTimeString(); 
      rowNumber += 1; 
     } 
     catch (Exception ex) 
     { 
      MessageBox.Show(ex.Message); 
     } 
    }