C # Запись в Excel с Interop-файл уже заполнен - PullRequest
0 голосов
/ 11 июля 2019

У меня есть некоторые данные, сохраненные в некоторых строках, теперь я хотел бы открыть существующий файл Excel и записать эти строки по порядку в пустые ячейки после заполненных,

Пример: У меня есть файл, который в столбце A записывается до 10, я хотел бы, чтобы код проверял, что 10 находит данные и записывает в 11, а затем продолжает [11, B] [11, C], пока я не закончу строки, а затем сохраните файл.

Я использую Interop

using Microsoft.Office.Interop.Excel;
using Excel = Microsoft.Office.Interop.Excel;

    OpenFileDialog FileExcel = new OpenFileDialog();

    if (FileExcel.ShowDialog() == DialogResult.OK)
    {
        try
        {
            var sr = new StreamReader(FileExcel.FileName);
        }
        catch (SecurityException ex)
        {
           MessageBox.Show($"Security error.\n\nError message: {ex.Message}\n\n" +
            $"Details:\n\n{ex.StackTrace}");
        }
    }

    Excel.Application xlApp = new Excel.Application();
    Excel.Workbook xlWorkbook = xlApp.Workbooks.Open(FileExcel.FileName);
    Excel._Worksheet xlWorksheet = xlWorkbook.Sheets[Convert.ToInt32(comboBox1.SelectedItem)];
    Excel.Range xlRange = xlWorksheet.UsedRange;

    int rowCount = xlRange.Rows.Count;
    int colCount = xlRange.Columns.Count;

    for (int i = 1; i <= rowCount; i++)
    {
        for (int j = 1; j <= colCount; j++)
        {
            //new line
            if (j == 1)
                Console.Write("\r\n");
            //write the value to the console
            if (xlRange.Cells[i, j] != null && xlRange.Cells[i, j].Value2 != null)
               Console.Write(xlRange.Cells[i, j].Value2.ToString() + "\t");

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