Excel C # ввод в конкретную ячейку - PullRequest
0 голосов
/ 13 сентября 2011

Я пытаюсь получить Excel, чтобы поместить число «6» в ячейку «F6» автоматически, используя C #. Я искал повсюду и не могу найти прямой ответ. Я уже ссылался на Excel в моей C # форме. Любая помощь с благодарностью

using Excel = Microsoft.Office.Interop.Excel;

Ответы [ 2 ]

2 голосов
/ 13 сентября 2011

Вот фрагмент кода из плагина 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);
        }
    }
2 голосов
/ 13 сентября 2011

Извлечено из онлайн-документации :

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";

Другие ценные ресурсы можно найти в этом вопросе .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...