【问题标题】:Excel C# inputting into specific cellExcel C#输入特定单元格
【发布时间】:2011-09-14 01:01:18
【问题描述】:

我试图让 excel 使用 C# 自动将数字“6”放入单元格“F6”。我一直在寻找,我找不到一个直接的答案。我已经在我的 C# 表单中引用了 excel。非常感谢任何帮助

using Excel = Microsoft.Office.Interop.Excel;

【问题讨论】:

    标签: c# excel


    【解决方案1】:

    抄自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找到。

    【讨论】:

    • 谢谢你,如果我写的程序几乎完成了,它真的很好。非常感谢您的帮助!!!
    【解决方案2】:

    这是我为加载数据库视图而编写的 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);
            }
        }
    

    【讨论】:

      猜你喜欢
      • 2012-08-12
      • 2014-09-29
      • 1970-01-01
      • 1970-01-01
      • 2017-05-23
      • 2017-02-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多