Файлы Excel, C и страдания - PullRequest
2 голосов
/ 25 мая 2011

Хорошо, так что я не программировал ничего полезного за последние годы - последний раз, когда я делал это год назад, и, как вы можете себе представить, мои знания в программировании серьезно устарели. (Последнее, что я «запрограммировал», это ренпи-игра на выходных. Можно представить ограниченное использование этого. Самой продвинутой программой на Си, которую я написал, была игра в крестики-нолики год назад. Так что да.)

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

Если бы кто-нибудь мог помочь, я был бы очень признателен.

(также, если это невозможно с C, я сделаю все возможное, чтобы работать с любыми другими языками)

Ответы [ 6 ]

3 голосов
/ 25 мая 2011

Экспортируйте два файла в формат .csv и напишите скрипт для обработки двух файлов.Например, в PHP у вас есть встроенные возможности чтения / записи в csv.

2 голосов
/ 25 мая 2011

Вы можете сделать это с помощью VBA и создать макрос в одном из файлов, который перебирает ячейки вашего столбца в файле 1, сравнивает их с ячейками в файле 2 и записывает их в новый. Файл XLS, если они совпадают.

Дана отмечает, что функция VLOOKUP сделает это довольно легко.

1 голос
/ 20 июня 2011

Если вы знаете Java, вы можете использовать Apache POI для своего проекта.Вы можете использовать примеры, приведенные на веб-сайте Apache POI, чтобы выполнить вашу задачу.

Apache POI Excel Документация: http://poi.apache.org/spreadsheet/quick-guide.html

1 голос
/ 25 мая 2011
  1. Установка GnuWin32
  2. Вывод файлов Excel в виде текста (например, csv)
  3. sort каждый файл с -uвозможность удаления дубликатов при необходимости
  4. mix и sort 2 файла
  5. количество уникальных идентификаторов с uniq -c
  6. фильтрацией строк со значением 1для подсчета с помощью grep
  7. удалите счет, оставляющий идентификатор, и все остальное, что вам нужно с помощью cut
0 голосов
/ 26 мая 2011

Не C, но вы можете очень быстро собрать что-нибудь вместе, используя xlsperl .

Это пригодилось мне в прошлом.

0 голосов
/ 25 мая 2011

Если вам абсолютно необходимо сделать это для файла xls / xlsx из процесса, вам, вероятно, потребуется копия Excel, управляемая средствами автоматизации COM.Вы можете сделать это в BV / VBA / C # / C ++ как угодно, некоторые проще, чем другие.Google для «автоматизации Excel».

Rgds, Martin

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