Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 49496|Antwoord: 2

[Bron] NPOI Operatie Excel Gedetailleerde Uitleg

[Link kopiëren]
Geplaatst op 2021-5-16 21:04:14 | | | |
NPOI kan Word- of Excel-documenten lezen en schrijven zonder dat Office geïnstalleerd is. NPOI is een open-source C#-project voor het lezen en schrijven van Microsoft OLE2-componentdocumenten zoals Excel en WORD.
Recensie:

NPOI-oordeel over celdatumtype
https://www.itsvse.com/thread-9649-1-1.html

Importeer afbeeldingen naar Excel-sheets met NPOI [met broncode]
https://www.itsvse.com/thread-9477-1-1.html

NPOI bepaalt de breedte en hoogte van de cellen
https://www.itsvse.com/thread-3522-1-1.html

. NPOI lees- en schrijfoperatie Excel-tabel plug-in voor Net
https://www.itsvse.com/thread-2288-1-1.html

Naam van de assemblee
modules/naamruimtes
illustreren
NPOI.DLL
NPOI. POIFS
OLE2/ActiveX documentattribuut lees/schrijfbibliotheek
NPOI.DLL
NPOI. DDF
Microsoft Office Drawing lees/schrijfbibliotheek
NPOI.DLL
NPOI. HPSF
OLE2/ActiveX document read/write library
NPOI.DLL
NPOI. HSSF
Microsoft Excel BIFF (Excel 97-2003, doc) formaat lees/schrijf bibliotheek
NPOI.DLL
NPOI. SS
Excel publieke interface en Excel-formuleberekeningsengine
NPOI.DLL
NPOI. Util
De basisbibliotheek biedt veel nuttige functies voor de ontwikkeling van andere lees-/schrijfbestandsformaatprojecten
NPOI. OOXML.DLL
NPOI. XSSF
Excel 2007 (xlsx) formaat lees- en schrijfbibliotheek
NPOI. OOXML.DLL
NPOI. XWPF
Word 2007 (docx) formaat lees/schrijfbibliotheek
NPOI. OpenXml4Net.DLL
NPOI. OpenXml4Net
OpenXml onderliggende zip-pakket lees- en schrijfbibliotheek
NPOI. OpenXmlFormats.DLL
NPOI. OpenXmlFormats
Microsoft Office OpenXml objectrelatiebibliotheek

HSSFWorkbook: is een versie van Excel 2003 of eerder (inclusief 2003) met een .xls-extensie
XSSFWorkbook: is de versie van Excel 2007 met .xlsx extensie
Herkent automatisch Excel-versies

Bij het lezen van Excel roept npoi WorkbookFactory.Create aan om automatisch de versie te herkennen:



Broncode-adres:De hyperlink-login is zichtbaar.



Implementatiecode:

XSSFWorkbook 2007 geeft een uitzondering 'Geen toegang tot een gesloten stroom'-uitzondering



Testcode:



Bij het exporteren van een bestand naar een stroom zorgt het aanroepen van de Write-methode voor een uitzondering:



Onbehandelde uitzondering. System.ObjectDisposedException: Geen toegang tot een gesloten stroom.
   bij System.IO.MemoryStream.Seek (Int64 offset, SeekOrigin loc)

HSSFWorkbook heeft dit probleem niet, en er is geen manier om de IWorkbook-interface Write te overbelasten, zoals te zien is in de onderstaande figuur:



MaarHet XSSFWorkbook-object zal een extra leaveOpen-parameter hebben, broncodeadres:De hyperlink-login is zichtbaar.



Oplossing 1:

Oplossing 2:

Maak een nieuw NpoiMemoryStream-object aan en overschrijf de Close-methode als volgt:

Gebruik het als volgt:

XSSFWorkbook CopySheet uitzondering

Wanneer het sheet mijn aangepaste sjabloon is, zal het aanroepen van de CopySheet-methode de volgende uitzondering oproepen:

Objectreferentie is niet ingesteld op een instantie van een object.

Clone sheet met CloneSheet is de code als volgt:



(Einde)




Vorig:Redis MISCONF Redis is geconfigureerd om RDB-snapshots op te slaan
Volgend:Hoe sla je een stream op in een bestand in C#/.NET
Geplaatst op 17-9-2021 09:46:51 |
KK Learn
Geplaatst op 29-1-2023 15:03:59 |
Leer van het kleine slakje
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com