Member 12324523 Ответов: 1

Определите пустые ячейки в столбце при чтении электронной таблицы open office и отобразите их без вставки в базу данных


Ниже приведен мой код который используется для чтения данных Open office spread sheet где у меня есть 16 столбцов в нем проблема в том что из 16 столбцов у меня есть 14 й столбец где данные не могут быть пустыми в этом 14 м столбце если какая либо ячейка пуста я должен показать сообщение об ошибке показывая номера строк этого столбца что эти строки пусты пожалуйста заполните и если все ячейки заполнены в этом столбце данные должны быть вставлены в базу данных



public void readODS(File file)
{
Лист оцинкованный;
пробовать
{
// Получение 0-го листа для манипуляции| передача имени листа в виде строки
sheet = SpreadSheet.createFromFile(файл). getSheet(0);

// Получить количество строк и столбцов
int nColCount = sheet. getColumnCount();
int nRowCount = sheet. getRowCount();

Системы.из.код println("строк :"+nRowCount);
Системы.из.код println("столбцов :"+nColCount);
// Итерация по каждой строке выбранного листа
MutableCell cell = null;
for (int nRowIndex = 0; nRowIndex < nRowCount; nRowIndex++)
{
// Итерация по каждому столбцу
int nColIndex = 0;
для( ;nColIndex < nColCount; nColIndex++)
{
ячейка = лист.getCellAt(nColIndex, nRowIndex);
Системы.из.печати(сотового.метод getValue()+ " ");
}
Системы.из.код println();
}

}
catch (IOException e)
{
е.печатные();
}
}
публичный статический пустота главный(строка[] аргументы) {
// Создание объекта File из файла. ods
File file = новый файл("D:\\Users\\test.ods");
OdsReader objODSReader = новый OdsReader();
objODSReader.readODS(файл);
}

Мой приведенный выше код печатает данные электронной таблицы на консоли, но мне нужно вставить данные в базу данных, если данные в 14-м столбце не пусты, если какая-либо ячейка пуста, она должна показывать номера строк, которые пусты в этом столбце.

Что я уже пробовал:

я не могу понять, как это сделать

1 Ответов

Рейтинг:
0

Richard MacCutchan

Просто добавьте немного кода в свой цикл, чтобы проверить, пуста ли ячейка столбца 14

for( ;nColIndex < nColCount; nColIndex++)
{
    cell = sheet.getCellAt(nColIndex, nRowIndex);
    //
    // Check if this is column 14
    // and if the cell is empty
    //
    if (colIndex == 13 && cell.getValue == null)
    {
        System.out.print("Error message here");
    }
    System.out.print(cell.getValue()+ " ");
}


Member 12324523

Привет Ричард, спасибо за ваш ответ, но если в ячейке пусто в этой колонке я должна печатать сообщение об ошибке вместе с сотовыми номерами предположим, если имя столбца-это имена и т=в том, что имена столбцов у меня есть 250 наименований, из которых клетки 100,102,110 пусты мне нужно, чтобы отобразить сообщение о том, что имена столбцов, эти клетки пусты, заполните, пожалуйста, а если нет пустых ячеек я должен вставить данные в базу могли бы вы помочь мне, как я новичок в этом

Richard MacCutchan

Затем вам нужно записать каждый номер строки и столбца в списке по мере прохождения листа. Когда вы закончите это, у вас будет список строк и столбцов, которые не являются полными. Теперь вы можете повторить этот процесс и сохранить только данные в полных столбцах. Кроме того, вы можете сохранить данные и сообщить о неполных строках при первом обходе листа.

Member 12324523

не могли бы вы показать мне, как это сделать, поскольку я новичок в этом деле

Richard MacCutchan

У вас уже есть большая часть кода, и я показал вам, где проверить пустую ячейку. Итак, else положение, что if оператор должен скопировать соответствующие значения в вашу базу данных.