Справочник по C#

    Исходники по языку программирования CSharp

    Чтение данных из таблиц Excel: Справочник по C#

    /
    /
    /
    89 Views


          Многие материалы которые я здесь описываю, я размещаю для самого себя, в основном чтобы мучительно долго не вспоминать как же оно делается и вновь пытать поисковики запросами.
          На сей раз опишу простой пример доступа и выборки данных из таблиц Excel в C#. На днях пришлось сим заниматься и в очередной раз вспоминать как оно делается попроще, для больших задач с кучей разных наворотов информации в интернете много. А надо то оно, как обычно бывает, совсем простенько чтоб решало поставленную задачу. 

    Итак приступим:

    Первым делом добавляем в наш проект (Add References…) 
    Microsoft.Office.Interop.Excel

    Далее добавляем на форму:
    TextBox — в него будем вводить номер столбца.
    RichTextBox — в него выведем прочитанные из эксельки данные.
    Button — по этой кнопочки всё выполняется.
    OpenFileDialog — для выбора файла xls.

    Далее в обработчике события нажатия кнопки пишем такой код:

    //Открываем файл Экселя
    if (openFileDialog1.ShowDialog() == DialogResult.OK)
    {
    //Создаём приложение.
    Microsoft.Office.Interop.Excel.Application ObjExcel = new Microsoft.Office.Interop.Excel.Application();
    //Открываем книгу.
    Microsoft.Office.Interop.Excel.Workbook ObjWorkBook = ObjExcel.Workbooks.Open(openFileDialog1.FileName, 0, false, 5, "", "", false, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "", true, false, 0, true, false, false);
    //Выбираем таблицу(лист).
    Microsoft.Office.Interop.Excel.Worksheet ObjWorkSheet;
    ObjWorkSheet = (Microsoft.Office.Interop.Excel.Worksheet)ObjWorkBook.Sheets[1];
    
    //Очищаем от старого текста окно вывода.
    richTextBox1.Clear();
    
    for (int i = 1; i < 101; i++)
    {
    //Выбираем область таблицы. (в нашем случае просто ячейку)
    Microsoft.Office.Interop.Excel.Range range = ObjWorkSheet.get_Range(textBox1.Text + i.ToString(), textBox1.Text + i.ToString());
    //Добавляем полученный из ячейки текст.
    richTextBox1.Text = richTextBox1.Text + range.Text.ToString()+"n";
    //это чтобы форма прорисовывалась (не подвисала)...
    Application.DoEvents();
    }
    
    //Удаляем приложение (выходим из экселя) - ато будет висеть в процессах!
    ObjExcel.Quit();
    }

    Чтение данных из таблиц Excel: Справочник по C#

    0.00 (0%) 0 votes

    moyadcode13
    • Facebook
    • Twitter
    • Google+
    • Linkedin
    • Pinterest
    moyadcode10
    moyadcode11
    moyadcode9