Как я могу получить все / всего листа в xlsx с помощью взаимодействия? - PullRequest
0 голосов
/ 01 июля 2019

как я могу получить все рабочие листы (например, 3) с общим количеством «10 строк» ​​и объединить их в другой новый лист?Проблема: результат, который я получаю, состоит в том, что он просматривает / просматривает последний лист / № 3, который отображает только 10 строк.Невозможно отобразить все листы итоговой строки в листе, состоящем из 30 строк.

ЧТО Я ПОПРОБОВАЛ: я пробовал циклически проходить по листу, который равен 3, и циклически проходить по строкам, равным 10.

           for (int sheet = 1; sheet <= 3; sheet++)
         {
    xlworkSheet = (Excel.Worksheet)xlworkbook.Worksheets.get_Item(sheet);

        //rw is equal to 10 rows
            for (int row = 0; row <= rw; row++)
            {


                //extract out excel value and store it into empID variable

var empID=(string)(xlworkSheet.Cells[row,1]as(Excel.Range).Value.ToString();

                //store empID into employeeobj               
                employeeobj.employeeID = empID;
   xlNewSheet2.Cells[row, 1].Value = employeeobj.employeeID;
             }
           }

что я получаю: 10 строк последних листов на новом листе.мои цели: 30 строк общего листа на новом листе.

1 Ответ

1 голос
/ 01 июля 2019

Вы можете создать список данных, содержащий значение всех строк или используя переменную count. Надеюсь на помощь, дружище :))

// Решение 1. Использование переменной count

int k = 0;
for (int sheet = 1; sheet <= 3; sheet++)
{
    xlworkSheet = (Excel.Worksheet)xlworkbook.Worksheets.get_Item(sheet);

    //rw is equal to 10 rows
    for (int row = 0; row <= rw; row++)
    {    

       //extract out excel value and store it into empID variable    
       var empID=(string)(xlworkSheet.Cells[row,1]as(Excel.Range).Value.ToString();

       //store empID into employeeobj               
       employeeobj.employeeID = empID;

       xlNewSheet2.Cells[k, 1].Value = employeeobj.employeeID;
       k++;
     }
}

// Решение 2. Использование списка

List<string> data = new List<string>();
for (int sheet = 1; sheet <= 3; sheet++)
{
    xlworkSheet = (Excel.Worksheet)xlworkbook.Worksheets.get_Item(sheet);

        //rw is equal to 10 rows
     for (int row = 0; row <= rw; row++)
     {    

         //extract out excel value and store it into empID variable    
         var empID=(string)(xlworkSheet.Cells[row,1]as(Excel.Range).Value.ToString();

         //store empID into employeeobj               
         employeeobj.employeeID = empID;
         //xlNewSheet2.Cells[row, 1].Value = employeeobj.employeeID;
         data.Add(employeeobj.employeeID);
       }
 }

// Наконец, просто свяжите данные с новым листом.

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