sp_suresh Ответов: 1

Алгоритм для различных форматов чтения платежного листа


Я хочу прочитать платежные ведомости каждого формата типа.Я попытался прочитать excel различного типа формата платежного листа(SalarySlip, PaymentSlip) и вставить в базу данных .Но до сих пор я не могу сделать это в совершенстве.Пожалуйста, предложите мне лучший способ прочитать excel из сотен типов платежных ведомостей
заранее спасибо
спасибо за ответ, сэр ..Настоящим я уточняю свой вопрос
1. У меня есть большой лист Excel расчетный листок имея информацию, как показано ниже
Employee Name :Suresh Emp Code --E01
Bank Ac/No :1564564654
   EARNINGS| AMOUNT     |  DEDUCTION |  AMOUNT
  ----------------------------------------------
   BASIC   | 65,800.00  |   PT       | 200,00
  ----------------------------------------------
   HRA     | 500.OO     |   PF       |  1500
  ----------------------------------------------


еще один платежный листок
Employee Name :Rajesh Emp Code --D11
   Bank Ac/No :456465654
   EARNINGS  AMOUNT     |  DEDUCTION|  AM
   ------------------------------------------
   BASIC     25,800.00  |   PT      | 200,00
                         --------------------
   HRA          700.OO  |  PF       |  1500
   ------------------------------------------

Employee Name :Amol Emp Code --AP002
   Bank Ac/No :3212313
   EARNINGS  AMOUNT     |  DEDUCTION|  AMOUNT
   ------------------------------------------
   BASIC     23,600.00  |   PT       200,00
  --------------------------------------------
   HRA          700.OO  |  PF       |  1500
   ------------------------------------------

  Employee Name :Ojas Emp Code --OP0334
  Bank Ac/No :78787878
  EARNINGS  AMOUNT     |  DEDUCTION|  AM
  ------------------------------------------
  BASIC HRA     23,600.00 700  |   PT PF | 200,00 1500
 --------------------------------------------
                           |  PF       |  1500
  ------------------------------------------


теперь этот пример платежной ведомости в этих данных не объединен в один excel .В другом paslip данные объединяются, но тип слияния отличается в каждом последнем трех palyslip .
Теперь Шаги, Предпринятые
1. Я импортировать эти данные в объект DataTable в C# Программирование с использованием oledb подключение.
2. Затем я пытаюсь прочитать данные каждой ячейки и вставить их в таблицу платежных ведомостей.Но проблема в том, что, как вы видите здесь, последние три значения ячеек платежного листа объединены в разных форматах . В Раджеше платежные ячейки зарабатывают и вместе с их суммой сливаются в одну ячейку .
Тогда как в платежном листе Amol первое головное значение столбца вычета сливается с его суммой.В Ojas payslip заработные головки сливаются друг с другом и значения в разных ячейках.
Как это я видел много платежных ведомостей, мне нужно найти лучший способ захвата данных maxmimum из этих типов excel с эффективной и хорошей производительностью .
Не могли бы вы предложить ?Если вы хотите увидеть изображение платежной квитанции, то я могу показать изображения также для этого мне нужен ваш электронный идентификатор.Спасибо снова....

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

Для этого я задавал вопросы на этом форуме .Анализ на основе этих ответов я сделал алгоритм и создал для этого логику .Но даже после создания alogorithm я становлюсь неудачным в какой-то части чтения salaryslip, особенно когда данные оболочки excel объединяются.

OriginalGriff

Это не очень хороший вопрос - мы не можем понять из этого малого, что вы пытаетесь сделать.
Помните, что мы не можем видеть ваш экран, получить доступ к вашему жесткому диску или прочитать ваши мысли.
Так что, возможно, если вы покажете свои соответствующие фрагменты кода, возможно, некоторые из ваших входных данных, и объясните точно, что происходит, это может помочь?
Используйте виджет" улучшить вопрос", чтобы отредактировать свой вопрос и предоставить более подробную информацию.

sp_suresh

Здравствуйте сэр ,
Пожалуйста, смотрите обновленный вопрос ...
Спасибо

1 Ответов

Рейтинг:
0

Garth J Lancaster

Я не вижу большой проблемы

напишите иерархический сканер/парсер (я думаю, что "рекурсивный спуск", это может быть не совсем правильно)

а) разбор блоков данных "имя сотрудника" на отдельные коллекции строк "платежный листок"
Б) есть сканер/парсер, который затем начинает разбивать коллекции строк по (почти) типу строки
bi) имя сотрудника
bii) банковский счет
счет) базовые линии
бив) линия HRA
БВ) основным направлением центра регистрации работоспособности
БВО) любые "остатки"
в) есть ведро ошибок, в котором все, что терпит неудачу, переходит, возможно, в ручное действие

вероятно, вы могли бы инкапсулировать это в объект файла заработной платы, который создает объекты платежных ведомостей, каждый из которых знает, как обрабатывать свое собственное содержимое

У меня есть соблазн сказать, как я делал бы в старые времена, написать "внешнюю" грамматику, которая описывала бы файл, и механизм синтаксического анализа, который читает в грамматике и использует ее для разборки файла - и это вполне может сработать здесь, но это также может быть излишним - это действительно зависит от того, насколько сложнее становится формат файла или нужна ли вам расширяемость - как только вы удалили много "пустых" пробелов, - - - - строк и т. д. В данных осталось не так уж много - некоторые из этих строк для примера вы могли бы разобрать с помощью регулярных выражений