Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > .NET для новичков > Считать строки в Excel


Автор: Voldemar2004 3.9.2011, 11:31
Считываю 1-ый столбец в Excel с 1 по 3 строку, но не пойму как вывести значения того, что я считал:

Код

            excelapp = new Excel.Application();
            excelapp.Visible = false;

            excelappworkbooks = excelapp.Workbooks;
            //Открываем книгу и получаем на нее ссылку
            excelappworkbook = excelapp.Workbooks.Open(@"E:\Fam1.xls", Type.Missing, 1, Type.Missing, Type.Missing, Type.Missing,
                Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);

            excelsheets = excelappworkbook.Worksheets;
            //Получаем ссылку на лист 1
            excelworksheet = (Excel.Worksheet)excelsheets.get_Item(1);
            //Выделение группы ячеек
            //Десять строк с 1 по 10ю
            excelcells = (Excel.Range)excelworksheet.Rows["1:3", Type.Missing];
  
               string sStr;
                int i;

                for(i=1;i<4;i++) {
                sStr = Convert.ToString(excelcells.get_Item(i,1));
                MessageBox.Show(sStr);
                }

Автор: Sibit 5.9.2011, 08:44
Заменить 
Код

sStr = Convert.ToString(excelcells.get_Item(i,1));

на

sStr = ((Object[,])excelcells.Cells.Value2)[i,1].ToString()


Так работает.

Автор: Voldemar2004 9.9.2011, 10:24
Sibit, спасибо, решил другим способом:

Код


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

//------------------------------------------------------------------
        private Excel.Application excelapp;
        private Excel.Window excelWindow;

        private Excel.Workbooks excelappworkbooks;
        private Excel.Workbook excelappworkbook;

        private Excel.Sheets excelsheets;
        private Excel.Worksheet excelworksheet;

        private Excel.Range excelcells;
//------------------------------------------------------------------


                                excelapp = new Excel.Application();
                                excelapp.Visible = false;

                                excelappworkbooks = excelapp.Workbooks;

                                //Открываем книгу и получаем на нее ссылку
                                excelappworkbook = excelapp.Workbooks.Open(PathToFile, Type.Missing, 1, Type.Missing, Type.Missing, Type.Missing,
                                    Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);

                                excelsheets = excelappworkbook.Worksheets;
                                //Получаем ссылку на лист 1
                                excelworksheet = (Excel.Worksheet)excelsheets.get_Item(1);

                                // Считывание в переменные значений из Excel:

                                excelcells = excelworksheet.get_Range("A1", Type.Missing);
                                MessageBox.Show(Convert.ToString(excelcells.Value2));


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)