Αυτό το άρθρο είναι ένα άρθρο καθρέφτη της αυτόματης μετάφρασης, κάντε κλικ εδώ για να μεταβείτε στο αρχικό άρθρο.

Άποψη: 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
ΜΚΟΙ. Σημεία ενδιαφέροντος
Βιβλιοθήκη ανάγνωσης/εγγραφής χαρακτηριστικών εγγράφου OLE2/ActiveX
NPOI.DLL
ΜΚΟΙ. ΒΔΦ
Βιβλιοθήκη ανάγνωσης/εγγραφής σχεδίων του Microsoft Office
NPOI.DLL
ΜΚΟΙ. HPSF
Βιβλιοθήκη ανάγνωσης/εγγραφής εγγράφων OLE2/ActiveX
NPOI.DLL
ΜΚΟΙ. ΤΧΣ
Βιβλιοθήκη ανάγνωσης/εγγραφής σε μορφή Microsoft Excel BIFF (Excel 97-2003, doc).
NPOI.DLL
ΜΚΟΙ. ΣΣ
Δημόσια διεπαφή Excel και μηχανισμός υπολογισμού τύπων Excel
NPOI.DLL
ΜΚΟΙ. Util
Η βασική βιβλιοθήκη παρέχει πολλές χρήσιμες λειτουργίες για την ανάπτυξη άλλων έργων μορφής αρχείου ανάγνωσης/εγγραφής
ΜΚΟΙ. OOXML.DLL
ΜΚΟΙ. Το XSSF
Βιβλιοθήκη ανάγνωσης και εγγραφής μορφής Excel 2007 (xlsx)
ΜΚΟΙ. OOXML.DLL
ΜΚΟΙ. Το XWPF
Βιβλιοθήκη ανάγνωσης/εγγραφής μορφής Word 2007 (docx)
ΜΚΟΙ. OpenXml4Net.DLL
ΜΚΟΙ. OpenXml4Net
Υποκείμενη βιβλιοθήκη ανάγνωσης και εγγραφής πακέτων zip OpenXml
ΜΚΟΙ. OpenXmlFormats.DLL
ΜΚΟΙ. OpenXmlΜορφές
Βιβλιοθήκη σχέσεων αντικειμένων 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, loc SeekOrigin)

Το HSSFWorkbook δεν έχει αυτό το πρόβλημα και δεν υπάρχει τρόπος να υπερφορτώσετε τη διεπαφή IWorkbook Write, όπως φαίνεται στο παρακάτω σχήμα:



ΑλλάΤο αντικείμενο XSSFWorkbook θα έχει μια πρόσθετη παράμετρο leaveOpen, διεύθυνση πηγαίου κώδικα:Η σύνδεση με υπερσύνδεσμο είναι ορατή.



Λύση 1:

Λύση 2:

Δημιουργήστε ένα νέο αντικείμενο NpoiMemoryStream και παρακάμψτε τη μέθοδο Close ως εξής:

Χρησιμοποιήστε το ως εξής:

Εξαίρεση φύλλου αντιγραφής XSSFWorkbook

Όταν το φύλλο είναι το προσαρμοσμένο πρότυπό μου, η κλήση της μεθόδου CopySheet θα δημιουργήσει την ακόλουθη εξαίρεση:

Η αναφορά αντικειμένου δεν έχει οριστεί σε μια παρουσία ενός αντικειμένου.

Κλωνοποιήστε το φύλλο χρησιμοποιώντας το CloneSheet, ο κωδικός έχει ως εξής:



(Τέλος)




Προηγούμενος:Redis MISCONF Το Redis έχει ρυθμιστεί για αποθήκευση στιγμιότυπων RDB
Επόμενος:Πώς να αποθηκεύσετε μια ροή σε ένα αρχείο σε C#/.NET
Δημοσιεύτηκε στις 2021-9-17 09:46:51 |
ΚΚ Μάθε
Δημοσιεύτηκε στις 2023-1-29 15:03:59 |
Μάθε από τη μικρή σκωρία
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com