Как обновить данные в файле Excel с помощью C #? - PullRequest
0 голосов
/ 31 марта 2019

Этот вопрос может быть повторен, но я пока не могу найти решение относительно моей проблемы. Я новичок в Interop. Я использую файл Excel (в качестве базы данных). Вот представление данных в файле Excel

enter image description here

в моих данных. Если идентификатор карты повторяется, то мне нужно увеличить '1' в счетчике в той же строке, аналогично мне нужно получить IP-адрес той же строки.

Я использую подход Interop Excel для вставки данных в файл Excel. Пожалуйста, скажите мне, как я могу выполнить эту операцию обновления для этого файла Excel через C # (WPF)

Извините за плохой английский ..

Спасибо

Ответы [ 5 ]

3 голосов
/ 31 марта 2019

Я рекомендую использовать Закрытый XML

Вы пишете в файл напрямую и не нуждаетесь в Excel. Для работы потребуется последняя версия файла Excel (открытый стандарт xml).

2 голосов
/ 31 марта 2019

Epplus.dll или npoi.dll также будут читать / записывать в файлы Excel без Excel.

1 голос
/ 01 апреля 2019

Сохраните данные в файле XML или JSON, затем, когда вы захотите их визуализировать, вы создадите файл Excel из этих данных, так что у вас будет очень легкий файл, который будет легко читать и обновлять, если вы захотите.

0 голосов
/ 01 апреля 2019

Если вы не возражаете против использования коммерческих библиотек, вы можете попробовать Aspose.Cells .Он имеет богатый API-интерфейс для ячеек и может работать без взаимодействия с Excel.

0 голосов
/ 01 апреля 2019

Я не делал этого специально через wpf, но вы можете получить доступ к командлетам powershell через .net, а powershell имеет команды для извлечения и записи данных Excel.

Тем не менее, мой опыт был очень утомительным и несовместимым с ошибками. Я бы сказал вашему клиенту, что использование файла Excel в качестве базы данных невозможно и, безусловно, на практике может привести к сбою.

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

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