Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 49496|Odpowiedź: 2

[Źródło] Szczegółowe wyjaśnienie operacji NPOI Excel

[Skopiuj link]
Opublikowano 2021-5-16 21:04:14 | | | |
NPOI może czytać i zapisywać dokumenty Word lub Excel bez zainstalowanego Office. NPOI to otwarty projekt C# do czytania i pisania dokumentów komponentów Microsoft OLE2, takich jak Excel i WORD.
Recenzja:

Ocena NPOI dotycząca typu daty komórki
https://www.itsvse.com/thread-9649-1-1.html

Importuj zdjęcia do arkuszy Excel za pomocą NPOI [z kodem źródłowym]
https://www.itsvse.com/thread-9477-1-1.html

NPOI ustala szerokość i wysokość komórek
https://www.itsvse.com/thread-3522-1-1.html

. Operacja odczytu i zapisu NPOI, wtyczka Excel dla Net
https://www.itsvse.com/thread-2288-1-1.html

Nazwa zespołu
Moduły/przestrzenie nazw
Ilustrują
NPOI.DLL
NPOI. POIFS
Biblioteka atrybutów dokumentów OLE2/ActiveX do czytania/zapisu
NPOI.DLL
NPOI. DDF
Biblioteka do czytania i zapisu Microsoft Office Drawings
NPOI.DLL
NPOI. HPSF
Biblioteka do czytania/zapisu dokumentów OLE2/ActiveX
NPOI.DLL
NPOI. HSSF
Microsoft Excel BIFF (Excel 97-2003, dokument) w formacie biblioteki do czytania/zapisu
NPOI.DLL
NPOI. SS
Publiczny interfejs Excel i silnik obliczeń formuł Excel
NPOI.DLL
NPOI. Util
Podstawowa biblioteka oferuje wiele przydatnych funkcji do tworzenia innych projektów w formacie plików do odczytu/zapisu
NPOI. OOXML.DLL
NPOI. XSSF
Biblioteka do odczytu i zapisu w formacie Excel 2007 (xlsx)
NPOI. OOXML.DLL
NPOI. XWPF
Biblioteka do czytania/zapisu w formacie Word 2007 (docx)
NPOI. OpenXml4Net.DLL
NPOI. OpenXml4Net
Biblioteka OpenXML do czytania i zapisu pakietów zip
NPOI. OpenXmlFormats.DLL
NPOI. OpenXmlFormats
Biblioteka relacji obiektów Microsoft Office OpenXML

HSSFWorkbook: to wersja Excela 2003 lub starszego (w tym 2003) z rozszerzeniem .xls
XSSFWorkbook: to wersja Excela 2007 z rozszerzeniem .xlsx
Automatycznie rozpoznaje wersje Excela

Podczas czytania Excela npoi wywołuje WorkbookFactory.create, aby automatycznie rozpoznać wersję:



Adres kodu źródłowego:Logowanie do linku jest widoczne.



Kod implementacyjny:

XSSFWorkbook 2007 wyświetla wyjątek Nie można uzyskać dostępu do zamkniętego strumienia



Kod testowy:



Podczas eksportu pliku do strumienia, wywołanie metody Write powoduje wyjątek:



Wyjątek nieobsługiwany. System.ObjectDisposedException: Nie można uzyskać dostępu do zamkniętego strumienia.
   at System.IO.MemoryStream.Seek(Int64 offset, SeekOrigin loc)

HSSFWorkbook nie ma tego problemu i nie ma możliwości przeciążenia interfejsu IWorkbook Write, jak pokazano na poniższym rysunku:



OpróczObiekt XSSFWorkbook będzie miał dodatkowy parametr leaveOpen, adres kodu źródłowego:Logowanie do linku jest widoczne.



Rozwiązanie 1:

Rozwiązanie 2:

Stwórz nowy obiekt NpoiMemoryStream i nadpisz metodę Close w następujący sposób:

Użyj go następująco:

Wyjątek XSSFWorkbook CopySheet

Gdy arkusz jest moim niestandardowym szablonem, wywołanie metody CopySheet wywoła następujący wyjątek:

Referencja do obiektu nie jest ustawiona na instancję obiektu.

Klonuj arkusz za pomocą CloneSheet, kod wygląda następująco:



(Koniec)




Poprzedni:Redis MISCONF Redis jest skonfigurowany do zapisywania migawek RDB
Następny:Jak zapisać strumień do pliku w C#/.NET
Opublikowano 2021-9-17 09:46:51 |
kk learn
Opublikowano 2023-1-29 15:03:59 |
Ucz się od tej małej
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com