Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 49496|Отговор: 2

[Източник] Подробно обяснение на операция NPOI Excel

[Копирай линк]
Публикувано на 2021-5-16 21:04:14 | | | |
NPOI може да чете и пише документи в Word или Excel без инсталиран Office. NPOI е проект с отворен код на C# за четене и писане на Microsoft OLE2 компонентни документи като Excel и WORD.
Преглед:

NPOI преценка за типа дата на клетката
https://www.itsvse.com/thread-9649-1-1.html

Импортиране на снимки в Excel таблици с помощта на NPOI [с изходен код]
https://www.itsvse.com/thread-9477-1-1.html

NPOI задава ширината и височината на клетките
https://www.itsvse.com/thread-3522-1-1.html

. NPOI плъгин за операции за четене и запис на таблици в Excel за Net
https://www.itsvse.com/thread-2288-1-1.html

Име на събранието
Модули/пространства от имена
илюстрирам
NPOI.DLL
NPOI. POIFS
Библиотека за четене/записване на атрибути на документа OLE2/ActiveX
NPOI.DLL
NPOI. DDF
Библиотека за четене/писане на Microsoft Office Drawing
NPOI.DLL
NPOI. HPSF
Библиотека за четене/запис на документи OLE2/ActiveX
NPOI.DLL
NPOI. HSSF
Microsoft Excel BIFF (Excel 97-2003, doc) форматна библиотека за четене/запис
NPOI.DLL
NPOI. SS
Публичен интерфейс на Excel и двигател за изчисляване на формули в Excel
NPOI.DLL
NPOI. Util
Основната библиотека предоставя много полезни функции за разработване на други проекти за четене/запис на файлови формати
NPOI. OOXML.DLL
NPOI. XSSF
Excel 2007 (xlsx) библиотека за четене и запис във формат Excel 2007 (xlsx)
NPOI. OOXML.DLL
NPOI. XWPF
Библиотека за четене/запис във формат Word 2007 (docx)
NPOI. OpenXml4Net.DLL
NPOI. OpenXml4Net
OpenXml библиотека за четене и запис на zip пакет
NPOI. OpenXmlFormats.DLL
NPOI. OpenXmlFormats
Библиотека за връзки с обекти в Microsoft Office OpenXml

HSSFWorkbook: е версия на Excel 2003 или по-рано (включително 2003) с разширение за .xls
XSSFWorkbook: е версията на Excel 2007 с разширение .xlsx
Автоматично разпознава версиите на Excel

При четене на Excel, npoi извиква WorkbookFactory.Create, за да разпознае автоматично версията:



Адрес на изходния код:Входът към хиперлинк е видим.



Код за имплементация:

XSSFWorkbook 2007 показва изключение Не може да се достъпи затворен поток



Тестов код:



При експортиране на файл в поток, извикването на метода Write хвърля изключение:



Необработено изключение. System.ObjectDisposedException: Не може да се достъпи затворен поток.
   в System.IO.MemoryStream.Seek (Int64 офсет, SeekOrigin loc)

HSSFWorkbook няма този проблем и няма начин да се претовари интерфейсът на IWorkbook Write, както е показано на фигурата по-долу:



НоОбектът XSSFWorkbook ще има допълнителен параметър leaveOpen, адрес на изходния код:Входът към хиперлинк е видим.



Решение 1:

Решение 2:

Създайте нов обект NpoiMemoryStream и презаписвайте метода Close по следния начин:

Използвайте го по следния начин:

Изключение от XSSFWorkbook CopySheet

Когато листът е моят персонализиран шаблон, извикването на метода CopySheet ще даде следното изключение:

Препратка към обект не е зададена на екземпляр на обект.

Клонираният лист с CloneSheet, кодът е следният:



(Край)




Предишен:Redis MISCONF Redis е конфигуриран да запазва снимки от RDB
Следващ:Как да запазим поток във файл на C#/.NET
Публикувано на 2021-9-17 09:46:51 |
KK Learn
Публикувано на 29.01.2023 15:03:59 |
Учи се от малката
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com