Answer the question
In order to leave comments, you need to log in
How to read and write xlsx using standard .NET tools?
Hello. Suppose there is an arbitrary xlsx (or xls) file, for example:
Is it possible to read it and write something to it without third-party libraries, without ms office installed on the machine, etc. - just standard C# tools?
I looked at various ways:
1) OLE DB - works only with data in the form of database tables, does not fit my table.
2) Microsoft.Office.Interop.Excel - you need an installed office.
What other options do I have? Need advice.
Answer the question
In order to leave comments, you need to log in
If you plan to work only with simple signs - EPPlus is a great way out.
If the plates are planned to be large and complex - the best option on the market is Aspose Cells.
The above allow you to do without an established office.
But huge heavy tables with a lot of formulas are still not able to digest except native MS Excel, alas ((
I don’t advise OpenXML without extreme need, it’s like an assembler - it can do everything, but it’s very low-level. What a coma does with one command there often requires indistinct code on one and a half screens...
Without third-party vryatli ... But I have already used ClosedXML many times
Если вас интересует xlsx, можете стандартными средствами его распаковать (т.к. это обычный ZIP), и поработать с содержимым. Основное содержимое книги будет в XML (не помню имя файла), так что сформировать его особых проблем не составит. Если вариант подходит, расскажу подробнее, что можно сделать.
А вообще EPPlus тащит.
Если на компьютере, где запускается ваша программа, установлен Microsoft Office, то можно использовать это.
Из всех библиотек которые перепробовал лучшим выбором, на мой взгляд, является NPOI, основные плюсы - не требует наличия офиса на машине, и умеет работать со старыми форматами (xls), в отличие от того же EPPlus.
Для работы с Excel из nuget'а нужно установить сам NPOI и NPOI.ExcelExtend
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question