C # и EPPlus, запись текстовых значений из формы в следующую доступную пустую строку

Эта ошибка возникает при переполнении циклов цикла. Давайте рассмотрим простой пример:

class demo{
  public static void main(String a[]){

    int[] numberArray={4,8,2,3,89,5};

    int i;

    for(i=0;i<numberArray.length;i++){
        System.out.print(numberArray[i+1]+"  ");
    }
}

Сначала я инициализировал массив как «numberArray». то некоторые элементы массива печатаются с использованием цикла. Когда цикл запускает время «i», напечатайте элемент (numberArray [i + 1] .. (когда значение i равно 1, будет напечатан элемент numberArray [i + 1].) Предположим, что, когда i = (numberArray. length-2), последний элемент массива печатается. Когда значение «i» переходит к (numberArray.length-1), нет значения для печати. ​​В этот момент происходит «ArrayIndexOutOfBoundsException». Я надеюсь, что вы можете получить idea.thank you!

0
задан demo 4 March 2019 в 14:31
поделиться

1 ответ

Если все, что вы пытаетесь сделать, это перейти в самый конец своей таблицы и добавить одну строку со значениями из элементов управления Form, вам вообще не нужен цикл for. Нечто подобное должно сделать это:

//Cells only contains references to cells with actual data
int rowCount = worksheet.Dimension.End.Row;
int colCount = worksheet.Dimension.End.Column;
var cells = worksheet.Cells;

var maxRow = cells
    .Select(c => c.Start.Row)
    .Max();

//Go to the next row after the max
maxRow++;
worksheet.Cells[maxRow, 1].Value = comboBox1.Text;
worksheet.Cells[maxRow, 2].Value = textBox1.Text;
worksheet.Cells[maxRow, 3].Value = textBox2.Text;
worksheet.Cells[maxRow, 4].Value = textBox3.Text;
worksheet.Cells[maxRow, 5].Value = textBox4.Text;
worksheet.Cells[maxRow, 6].Value = richTextBox1.Text;

Дайте мне знать, если я неправильно понимаю.

0
ответ дан Ernie 4 March 2019 в 14:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: