|
NPOI est un logiciel open source de lecture et d'écriture en C# pour Excel, WORD et autres composants Microsoft OLE2 du projet de document. Révision :
NPOI jugement du type de date des cellules h ttps:// www.itsvse.com/thread-9649-1-1.html
utiliser NPOI pour importer des images dans des tableaux Excel [avec code source] h ttps:// www.itsvse.com/thread-9477-1-1.html
Définition de la largeur et de la hauteur des cellules par le NPOI h ttps:// www.itsvse.com/thread-3522-1-1.html
Net's NPOI read/write operation Excel table add-in (en anglais) h ttps:// www.itsvse.com/thread-2288-1-1.html Nom de l'assemblage | Module/espace de noms | Description | NPOI.DLL | NPOI.POIFS | Bibliothèque de lecture/écriture des propriétés des documents OLE2/ActiveX | NPOI.DLL | NPOI.DDF | Bibliothèque de lecture/écriture des dessins Microsoft Office | NPOI.DLL | NPOI.HPSF | Bibliothèque de lecture/écriture de documents OLE2/ActiveX | NPOI.DLL | NPOI.HSSF | Bibliothèque de lecture/écriture du format Microsoft Excel BIFF (Excel 97-2003, doc) | NPOI.DLL | NPOI.SS | Interface publique d'Excel et moteur de calcul des formules Excel | NPOI.DLL | NPOI.Util | Bibliothèque de classes de base, fournit de nombreuses fonctions pratiques, peut être utilisée pour d'autres projets de développement de format de fichier en lecture-écriture. | NPOI.OOXML.DLL | NPOI.XSSF | Bibliothèque de lecture et d'écriture du format Excel 2007 (xlsx) | NPOI.OOXML.DLL | NPOI.XWPF | Bibliothèque de lecture/écriture du format Word 2007(docx) | NPOI.OpenXml4Net.DLL | NPOI.OpenXml4Net | Bibliothèque de lecture et d'écriture du paquet zip sous-jacent OpenXml | NPOI.OpenXmlFormats.DLL | NPOI.OpenXmlFormats | Bibliothèque de relations d'objets Microsoft Office OpenXml |
HSSFWorkbook: est l'opération d'Excel2003 avant (y compris 2003) version, l'extension est .xls XSSFWorkbook: est le fonctionnement de la version d'Excel2007, l'extension est .xlsx Reconnaissance automatique de la version d'Excel
Lors de la lecture d'Excel, npoi peut automatiquement identifier la version en appelant WorkbookFactory.Create :
Adresse du code source : https://github.com/nissl-lab/npoi/blob/37a8435dc4d613d9cf6145d044e4bf28bdfc3e4e/ooxml/SS/UserModel/WorkbookFactory.cs
Code de réalisation :
XSSFWorkbook 2007 Lance une exception Cannot access a closed Stream (Accès impossible à un flux fermé)
Code de test :
L'appel à la méthode Write lève une exception lors de la sortie d'un fichier vers un flux :
Exception non gérée. System.ObjectDisposedException : Impossible d'accéder à un flux fermé. at System.IO. System.ObjectDisposedException : Impossible d'accéder à un flux fermé. at System.IO.MemoryStream.Seek(Int64 offset, SeekOrigin loc) HSSFWorkbook n'a pas ce problème, l'interface IWorkbook Write n'a pas de méthode surchargée, comme indiqué ci-dessous :
Mais l'objet XSSFWorkbook aura un paramètre leaveOpen supplémentaire, source : https://github.com/nissl-lab/npoi/blob/master/ooxml/XSSF/UserModel/XSSFWorkbook.cs
Première solution :
Deuxième solution :
Créer un nouvel objet NpoiMemoryStream et surcharger la méthode Close comme suit :
Utilisez ce qui suit :
Exception XSSFWorkbook CopySheet
L'appel à la méthode CopySheet lorsque la feuille est mon modèle personnalisé provoque l'exception suivante :
Object reference not set to an instance of an object. Pour cloner la feuille à l'aide de CloneSheet, le code est le suivant :
(Fin) |
Article précédent Redis MISCONF Redis est configuré pour sauvegarder des snapshots RDBNext :[Report]C#/.NET Enregistrer un flux dans un fichier
|