Πώς λέγεται το πρόγραμμα για το excel σε 1c. Τι είναι καλύτερο - 1C ή Excel; Μεταφόρτωση χωρίς προγραμματισμό

Υπάρχουν διάφοροι τρόποι για να ανοίξετε ένα αρχείο Excel σε 1C και αντίστροφα. Οι αρχάριοι χρήστες θα προτιμήσουν απλούστερες λειτουργίες αποθηκεύοντας το έγγραφο σε διαφορετική μορφή ή χρησιμοποιώντας ειδικά προγράμματα. Αλλά αξίζει να ξοδέψετε λίγη προσπάθεια και να μάθετε πώς να εργάζεστε με εργαλεία λογισμικού για την προβολή και την επεξεργασία δεδομένων από το ένα πρόγραμμα στο άλλο. Αυτές οι βασικές δεξιότητες προγραμματισμού θα σας βοηθήσουν να αποφύγετε εργασίες ρουτίνας στο μέλλον.

Πώς να ανοίξετε έγγραφα Excel σε 1C και αντίστροφα

Το πρόγραμμα επεξεργασίας υπολογιστικών φύλλων Microsoft Excel είναι ανώτερο σε λειτουργικότητα από τα προϊόντα λογιστικού λογισμικού 1C. Επομένως, οι χρήστες 1C προτιμούν να εκτελούν ορισμένες λειτουργίες σε έναν επεξεργαστή υπολογιστικών φύλλων και στη συνέχεια να επιστρέφουν τα δεδομένα στο λογιστικό πρόγραμμα. Και αυτό δεν προκαλεί έκπληξη, επειδή προηγουμένως η λογιστική πολλών εταιρειών γινόταν αποκλειστικά με χρήση προγραμμάτων της Microsoft. Αλλά με το τρέχον επίπεδο αυτοματοποίησης των επιχειρηματικών διαδικασιών των επιχειρήσεων, είναι αδύνατο να εγκαταλείψουμε εξειδικευμένα προγράμματα. Για να δημιουργήσετε την αλληλεπίδραση μεταξύ διαφορετικών εφαρμογών, υπάρχουν οι ακόλουθοι απλοί τρόποι:

    Όταν πρέπει να αντιμετωπίσετε αρχεία προϊόντων λογισμικού που δεν είναι εγκατεστημένα στον τρέχοντα υπολογιστή σας, ο ευκολότερος τρόπος είναι να χρησιμοποιήσετε μια ειδική εφαρμογή για τη μετατροπή πινάκων Excel σε μορφή 1C και αντίστροφα. Μπορείτε να το βρείτε στον ιστότοπο του προϊόντος 1C.

    Εάν ο υπολογιστής σας διαθέτει και 1C και Excel, μπορείτε να ανοίξετε με μη αυτόματο τρόπο το αρχείο στην "εγγενή" εφαρμογή του και στη συνέχεια να το αποθηκεύσετε σε μορφή άλλου προγράμματος. Αυτή η επιλογή είναι συνήθως διαθέσιμη κατά την αποθήκευση μιας εκτυπώσιμης φόρμας ή διάταξης.

    Οι χρήστες του 1C 7.7 μπορούν να κάνουν αναβάθμιση στην έκδοση 1C 8, η οποία διαθέτει βελτιωμένο πρόγραμμα επεξεργασίας πίνακα.

Πώς το 1C και το Excel μπορούν να αλληλεπιδράσουν μέσω προγραμματισμού

Η αλληλεπίδραση μεταξύ 1C και Excel μπορεί να πραγματοποιηθεί σε επίπεδο προγράμματος χρησιμοποιώντας την τεχνολογία OLE Automation που αναπτύχθηκε από τη Microsoft. Σας επιτρέπει να έχετε πρόσβαση σε αντικείμενα COM απευθείας από διερμηνείς σεναρίων διαφόρων προγραμμάτων. Με απλά λόγια, το OLE σάς επιτρέπει να μεταφέρετε ένα κομμάτι εργασίας από το ένα πρόγραμμα στο άλλο και στη συνέχεια να επιστρέψετε το έργο στην αρχική εφαρμογή. Αυτό ακριβώς χρειάζονται οι λογιστές από τον επεξεργαστή υπολογιστικών φύλλων της Microsoft.

Δεν χρειάζεται να είστε προγραμματιστής για να χρησιμοποιήσετε εργαλεία OLE. Αν και η πρώτη γνωριμία με γραμμές κώδικα θα συνοδεύεται από σφάλματα, ο έλεγχος θα βοηθήσει στον εντοπισμό τους και η εμπειρία που αποκτήθηκε θα βοηθήσει στην αποφυγή τους στο μέλλον. Παρακάτω είναι οι πιο δημοφιλείς εντολές (ονομάζονται λίστες) για εργασία με δεδομένα Excel σε λογιστικά προγράμματα και αντίστροφα.

Πώς να ανοίξετε ένα αρχείο Excel σε 1C μέσω προγραμματισμού

Έτσι, εάν στον υπολογιστή σας είναι εγκατεστημένα και τα δύο προγράμματα, μεταξύ των οποίων θέλετε να ανταλλάξετε δεδομένα, τότε μπορείτε να οργανώσετε την αλληλεπίδραση μέσω προγραμματισμού. Για να το κάνετε αυτό, πρέπει να εκκινήσετε και τις δύο εφαρμογές και, στη συνέχεια, να χρησιμοποιήσετε το OLE για να δημιουργήσετε πρόσβαση από το 1C στο Excel:

  • Εξαίρεση

    Αναφορά(ErrorDescription() + "Το Excel δεν είναι εγκατεστημένο σε αυτόν τον υπολογιστή!");

  • Τέλος απόπειρας.

Η πρόσβαση στον επεξεργαστή πίνακα έχει εγκατασταθεί, τώρα χρησιμοποιώντας τις ακόλουθες εντολές που χρειάζεστε για να αποκτήσετε πρόσβαση:

    συγκεκριμένο έγγραφο:

    • Βιβλίο = Excel.WorkBooks.Open(FilePath)

    • Φύλλο = Βιβλίο.Φύλλα εργασίας(Αριθμός φύλλου);

  • συμπεριλαμβανομένων με συγκεκριμένο αριθμό φύλλου:

    συμπεριλαμβανομένου με ένα συγκεκριμένο όνομα φύλλου:

    • Φύλλο = Βιβλίο.Φύλλα εργασίας(Όνομα φύλλου);

    • Τιμή = Sheet.Cells(RowNumber, ColumnNumber).Τιμή;

Για να διαβάσετε δεδομένα από την πρώτη σελίδα ενός αρχείου, χρησιμοποιήστε τις ακόλουθες καταχωρίσεις:

    Excel = CreateObject("Excel.Application");

    Βιβλίο = Excel.WorkBooks.Open(FilePath);

    Φύλλο = Βιβλίο.Φύλλα εργασίας(1);

    TotalColumns = Sheet.Cells(1,1).SpecialCells(11).Column;

    TotalRows = Sheet.Cells(1,1).SpecialCells(11).Σειρά;

    Για σειρά = 1 Κατά TotalRows Βρόχος

    • Για στήλη = 1 Κατά κύκλο συνολικών στηλών

      Τιμή = Abbr(Sheet.Cells(Row,Column).Value);

      EndCycle;

    EndCycle;

Θυμηθείτε, η διαδρομή προς το αρχείο πρέπει να καθοριστεί πλήρως. Κατά την αποθήκευση ενός ονόματος εγγράφου, δεν μπορείτε να συμπεριλάβετε χαρακτήρες όπως \, /, :, *, ?, ", >,< и |.

Πώς να ανοίξετε ένα αρχείο 1C μέσω του Excel μέσω προγραμματισμού

Για να καταγράψετε δεδομένα στο Excel πρέπει:

    ή ανοίξτε ένα υπάρχον έγγραφο:

    • Βιβλίο = Excel.WorkBooks.Open(Path to File) - κατ' αναλογία με την ανάγνωση ενός αρχείου Excel από 1C.

    ή προσθέστε ένα νέο:

    • Βιβλίο εργασίας = Excel.WorkBooks.Add();

    Μπορείτε να δημιουργήσετε ένα νέο φύλλο σε ένα νέο έγγραφο:

    • Φύλλο = Book.Sheets.Add();

    και προσθέστε μια νέα τιμή στο κελί:

    • Sheet.Cells(RowNumber, ColumnNumber).Value = Value; (οι μέθοδοι εγγραφής τιμών με χρήση OLE περιγράφονται λεπτομερώς στο Διαδίκτυο).

  • Book.SaveAs(FilePath);

    Εξαίρεση

    Αναφορά(ErrorDescription()+"Το αρχείο δεν αποθηκεύτηκε!");

    Τέλος απόπειρας.

Όταν ολοκληρώσετε την εργασία με τον επεξεργαστή υπολογιστικών φύλλων, βγείτε χρησιμοποιώντας μια ειδική εντολή (Excel.Application.Quit();). Αυτή η μέθοδος θα βοηθήσει στην εξοικονόμηση πόρων υπολογιστή κατά την περαιτέρω εργασία.

Κίνδυνοι κατά την ανταλλαγή δεδομένων μεταξύ 1C και Excel

Το 1C και το Excel αναπτύχθηκαν από διαφορετικές εταιρείες και χρησιμοποιούν διαφορετικούς τρόπους χειρισμού δεδομένων. Επομένως, όταν μεταφέρετε πίνακες από ένα πρόγραμμα σε άλλο, θυμηθείτε τις ακόλουθες παγίδες:

    Διάφοροι διαχωριστές σε κλασματικούς αριθμούς. Η Microsoft διαχωρίζει δεκαδικούς αριθμούς χρησιμοποιώντας κόμμα. Επομένως, όταν μεταφέρετε πίνακες από ένα λογιστικό πρόγραμμα, μην εκπλαγείτε από την αφθονία των ημερομηνιών και άλλη σύγχυση. Απλώς, σε ένα λογιστικό πρόγραμμα, μπορεί να χρησιμοποιηθεί μια περίοδος για τη σύνταξη κλασμάτων, την οποία ο επεξεργαστής υπολογιστικών φύλλων της Microsoft θα ερμηνεύσει ως διαχωριστικό ημερομηνιών και η 15.5 θα μετατραπεί σε 15 Μαΐου. Για την επεξεργασία λογιστικών δεδομένων σε έναν επεξεργαστή υπολογιστικών φύλλων, το διαχωριστικό θα πρέπει να αντικατασταθεί με κόμμα.

    Κατά τη μεταφορά δεδομένων από το Excel στο 1C, αυτές οι σταθερές του Excel που δεν περιλαμβάνονται στο λογιστικό πρόγραμμα ενδέχεται να εμφανίζονται εσφαλμένα. Για να τα αποκρυπτογραφήσετε, πρέπει να μεταβείτε στη Βοήθεια του προγράμματος επεξεργασίας υπολογιστικών φύλλων ή στη λειτουργία εντοπισμού σφαλμάτων και να ελέγξετε την αριθμητική έκφραση διαφόρων σταθερών.

Εάν χρειάζεται να ανταλλάξετε μεγάλες ποσότητες δεδομένων ή δεν μπορείτε να απαλλαγείτε από σφάλματα, επικοινωνήστε με τους επαγγελματίες της εταιρείας Setby για βοήθεια. Θα σας βοηθήσουμε να λύσετε τα προβλήματά σας σε επίπεδο προγράμματος και να κατανοήσετε τις εντολές που είναι απαραίτητες για την εργασία σας.

Πολύ συχνά, όταν επικοινωνώ με πιθανούς πελάτες, ακούω ότι η λειτουργικότητα του πίνακα από το πακέτο του γραφείου είναι αρκετά αρκετή για αυτούς και δεν βλέπουν το νόημα στα προγράμματα 1C. Αυτό συμβαίνει επειδή ορισμένοι εξακολουθούν να συνδέουν αυτή τη λύση μόνο με προγράμματα για λογιστές, κάτι που δεν είναι αλήθεια.

Το Excel είναι ένα καθολικό και μαζικής παραγωγής προϊόν, δεν μπορείτε να το αμφισβητήσετε. Σχεδόν όλοι μπορούν να χρησιμοποιήσουν αυτό το πρόγραμμα, σε αντίθεση με τις εξελίξεις 1C, οι οποίες απευθύνονται σε στενούς ειδικούς. Χρησιμοποιώντας "πράσινους" πίνακες, μπορείτε να εφαρμόσετε ελεύθερα την απαραίτητη λειτουργικότητα, η οποία θα είναι βολική: εδώ είναι το οικονομικό μοντέλο του οργανισμού με όλους τους αμοιβαίους διακανονισμούς, τη λογιστική διαχείρισης, ακόμη και τους ρυθμιζόμενους, μια μεγάλη επιλογή οπτικοποίησης δεδομένων, τη δυνατότητα ανεξάρτητα επεκτείνετε τις δυνατότητες του προγράμματος χρησιμοποιώντας διάφορα πρόσθετα - όλα είναι στα χέρια σας, όλα από την αρχή...

Είναι καλό αν μόλις ξεκινάτε την επιχείρησή σας, λαμβάνοντας σταδιακά υπόψη τα απαραίτητα δεδομένα στον πίνακα για τις σχέσεις με πελάτες, προμηθευτές, ρυθμιστικές αρχές, χτίζοντας τη δική σας αυθαίρετη δομή, αλλά τι να κάνετε στη συνέχεια όταν η βάση δεδομένων γίνει ογκώδης και το προσωπικό νούμερα στις δεκάδες; Εξακολουθείτε να μετράτε σύμφωνα με τις δικές σας παραμέτρους; Είμαι υπέρ της μη σύγχυσης της ευκολίας με τη συνήθεια, η οποία συχνά παρεμβαίνει στη συστηματοποίηση της επιχείρησης και, κατά συνέπεια, στη βελτιστοποίησή της.

Για λόγους σαφήνειας, ας φανταστούμε ποιες ανάγκες μπορεί να προκύψουν για λογιστικό αυτοματισμό, για παράδειγμα, για το εμπόριο:

1. Ανάλυση πωλήσεων εντός ορισμένης περιόδου.

Ο επικεφαλής του τμήματος πωλήσεων μπορεί να αναλύσει δεδομένα πωλήσεων. Άλλωστε είναι σημαντικό να καταλάβει αν το σχέδιο υλοποιείται, πόσο αποτελεσματικές είναι οι στρατηγικές του, ώστε σε περίπτωση αναποτελεσματικότητας να κάνει έγκαιρες προσαρμογές στη δουλειά.

2. Λογιστική αποθήκης.
Χρειάζεται να εξηγήσω ότι για τις πωλήσεις είναι επίσης σημαντικό να κατανοήσουμε τη διαθεσιμότητα αγαθών σε απόθεμα, ποια προϊόντα μπορούν να γίνουν κράτηση και ποια είναι εκτός αποθέματος και τι πρέπει να παραγγελθεί; Νομίζω ότι όλα είναι ξεκάθαρα εδώ.

3. Τήρηση βάσης δεδομένων αντισυμβαλλομένων.
Ακόμα κι αν ο ιδιοκτήτης πουλάει μόνο ό,τι μπορεί να αγοραστεί εδώ και τώρα, κάτι που είναι χαρακτηριστικό για τον τομέα B2C, τότε έχει μια ελαφρώς διαφορετική σχέση με τη βάση προμηθευτών - συμβόλαια, κύρια... Φανταστείτε πόσο βολικό είναι όταν όλα συνδέονται με το Ο προμηθευτής είναι αυτόματα Εμφανίζεται αμέσως σε μια ενιαία βάση δεδομένων; Ο υπεύθυνος της αποθήκης βλέπει αμέσως τη διαθεσιμότητα των αγαθών στην αποθήκη, ένας άλλος υπάλληλος που είναι υπεύθυνος για τα έγγραφα παρακολουθεί πληροφορίες σχετικά με τη διαθεσιμότητά τους, εάν εκπληρώνονται όλες οι υποχρεώσεις βάσει συμβατικών σχέσεων, ποιος οφείλει σε ποιον και πόσα. Και σε περίπτωση ασυμφωνιών, μπορείτε να εναρμονίσετε τα δεδομένα για μια συγκεκριμένη περίοδο, δημιουργώντας ένα αποτέλεσμα σε λιγότερο από ένα λεπτό.

4. Κέρδος του οργανισμού.
Η δημιουργία μιας αναφοράς κερδών δεν θα είναι δύσκολη, καθώς όλα τα δεδομένα για τα έξοδα και τα έσοδα υπάρχουν ήδη στη βάση δεδομένων. Με την προϋπόθεση ότι οι πληροφορίες καταχωρούνται έγκαιρα, τουλάχιστον μέχρι την απαιτούμενη ημερομηνία. Ο θεμελιώδης παράγοντας εδώ είναι η προσωπική ευθύνη του χρήστη.

Εάν δεν έχετε πολλούς πελάτες και προμηθευτές, το Excel θα σας βολέψει πραγματικά, καθώς υπάρχει αρκετός χρόνος για να σχεδιάσετε τα δικά σας διαγράμματα στον πίνακα και να τα συμπληρώσετε, ακολουθούμενη από διανομή εγγράφων σε διάφορους φακέλους στον υπολογιστή: συμβόλαια, προμηθευτές, πελάτες, πελάτες στη γειτονιά, πελάτες σε ανάπτυξη, πελάτες προς διαγραφή – μια ατελείωτη και συναρπαστική διαδικασία δημιουργίας φακέλων μέσα σε ένα φάκελο. Και αν υπάρχουν πολλές πληροφορίες, είναι βολικό να παρακολουθείτε τη βάση δεδομένων σας; Φυσικά, υπάρχουν πάντα εξαιρέσεις, μερικές φορές υπάρχουν οργανισμοί με μεγάλους κύκλους εργασιών των οποίων τα οικονομικά στοιχεία διατηρούνται μόνο στο Excel. Πόσο χρόνο χρειάζονται για να ανταλλάξουν και να συνδυάσουν δεδομένα μεταξύ των τμημάτων; Θα απαντήσω: πολλά.

Δεν μπορώ να φανταστώ πώς να βρείτε γρήγορα αυτό που χρειάζεστε σε έναν μεγάλο αριθμό εγγράφων Excel οργανωμένα σε ένα αυθαίρετο σύστημα. Για παράδειγμα, κατά την παροχή εγγράφων για απαιτήσεις από την εφορία. Πώς θα υποβάλλει ένας λογιστής αναφορές στις ρυθμιστικές αρχές όταν οι πληροφορίες είναι όλες διάσπαρτες; Η λογιστική, φυσικά, μπορεί να ανατεθεί σε εξωτερικούς συνεργάτες και ορισμένοι ιδιοκτήτες επιχειρήσεων, δυστυχώς, μπορεί να αδιαφορούν για τις διαδικασίες που μπορεί να έχει ένας συγκεκριμένος ειδικός, εφόσον εξισορροπεί τα υπόλοιπα. Αλλά ακόμα κι αν ναι, τότε πώς οργανώνεται η διαδικασία ανταλλαγής εγγράφων; Πόσο γρήγορα θα κατανοήσει ένας εξωτερικός υπάλληλος την αυτοσχέδια δομή πληροφοριών;

Δεν μπορώ να πω το ίδιο για το 1C, καθώς όλες οι πληροφορίες εκεί είναι δομημένες και αλληλένδετες:

    Μια ενιαία βάση δεδομένων τόσο για εξ αποστάσεως όσο και για υπαλλήλους πλήρους απασχόλησης, στην οποία μπορείτε να εργαστείτε με όλα τα τυποποιημένα και προσαρμοσμένα έγγραφα.
    Η αναφορά στις ρυθμιστικές αρχές δημιουργείται με βάση δεδομένα που αντικατοπτρίζονται ήδη στο πρόγραμμα, δεν χρειάζεται να ανοίξετε πολλά αρχεία, να συνδυάσετε πολλές τιμές σε έναν πίνακα για να λάβετε τελικά αποτελέσματα.
Το "1C", με την καλή έννοια, είναι ένα σύστημα πολλαπλών εργασιών που στοχεύει τόσο σε τυπικές λογιστικές εργασίες όσο και στην αυτοματοποίηση όλων των οργανωτικών διαδικασιών, ανάλογα με το πεδίο δραστηριότητας. Η κύρια λέξη εδώ είναι το σύστημα. Κανείς δεν σας εμποδίζει να οργανώσετε το επιχειρηματικό σας σύστημα στο Excel, αλλά γιατί να ανακαλύψετε ξανά τον τροχό όταν υπάρχουν λύσεις που καλύπτουν σχεδόν όλες τις ανάγκες για βελτιστοποίηση του χρόνου και του οικονομικού κόστους, βοηθώντας στη συστηματοποίηση της εργασίας σας;

Προς υπεράσπιση του Excel

Μάλλον σας φάνηκε ότι είμαι κατά της κατασκευής δεδομένων σε «πράσινους» πίνακες. Καθόλου. Στην πραγματικότητα, εγώ ο ίδιος κάνω συχνά κάποιες δουλειές στο Excel: αν χρειάζομαι αυθαίρετους υπολογισμούς, εάν χρειάζεται να τμηματοποιήσω δεδομένα ανά πελάτη, να διεξάγω αναλυτικές πληροφορίες με βάση παραμέτρους που δεν είναι σε 1C - ναι, συμβαίνει αυτό - πηγαίνω στο "Excel". Με απλά λόγια, στους πίνακες κάνω υπολογισμούς και μη τυπικές αναλύσεις, αλλά στη συνέχεια συστηματοποιώ τα πάντα σε 1C ούτως ή άλλως.

Και στη συνέχεια, για να προβάλετε αρχεία λήψης από το 1C, θα χρειαστείτε ακόμα το Excel, καθώς τα δεδομένα στο 1C αποθηκεύονται σε υπολογιστικά φύλλα. Νιώθετε ότι πρόκειται για έναν φαύλο κύκλο; Θα το πω διαφορετικά: το "1C" και το "Excel" πάνε δίπλα-δίπλα σαν δύο συνεργάτες, αλλά ο καθένας από αυτούς έχει τον δικό του σκοπό, αλληλοσυμπληρώνονται καλά, αλλά δεν αντικαθιστούν ο ένας τον άλλον.

Εάν πρέπει να συστηματοποιήσετε τις υποθέσεις σας λαμβάνοντας υπόψη το νομοθετικό σύστημα του κράτους μας, λαμβάνοντας υπόψη τις ιδιαιτερότητες και την εστίαση της επιχείρησης, ειδικά όταν πρόκειται για μεγάλους όγκους πληροφοριών, τότε χρειάζεστε 1C. Εάν χρειάζεστε αυθαίρετους υπολογισμούς, οικοδόμηση στρατηγικής από την αρχή, οπτικοποίηση μη τυπικών δεδομένων αναλυτικών στοιχείων, τότε το Excel είναι στη διάθεσή σας. Αλλά είναι πολύ πιο βολικό να εργάζεστε με αυτές τις λύσεις ταυτόχρονα.


Ποιο είναι το τελικό αποτέλεσμα - "1C" ή "Excel";

Στην αρχή, εάν η ερώτηση αφορά τα οικονομικά για την αυτοματοποίηση, αν και τα βασικά προγράμματα 1C δεν κοστίζουν τόσα χρήματα, θα χρησιμοποιούσα το Excel. Ένα τεράστιο πλεονέκτημα είναι ότι τα δεδομένα από «πράσινους» πίνακες μπορούν να φορτωθούν στο 1C χωρίς απώλεια. Αλλά καθώς κλιμακώνεστε, θα σας συμβούλευα να δώσετε προσοχή σε προγράμματα για την αυτοματοποίηση των επιχειρηματικών διαδικασιών. Υπάρχουν πολλά από αυτά, και μπορεί να μην είναι απαραίτητα 1C...

Η μετάβαση στο "1C" μπορεί να πραγματοποιηθεί όταν καταλάβετε ότι πρέπει να βελτιστοποιήσετε τους πόρους σας, συμπεριλαμβανομένων της αυτοματοποίησης θεμάτων που σχετίζονται με τις σχέσεις με πελάτες και προμηθευτές, καθώς και με εποπτικές αρχές. Γενικά, προσαρμόστε τις διαδικασίες εργασίας σας για να αυξήσετε την αποτελεσματικότητα της επιχείρησης, όταν η επεξεργασία πληροφοριών απαιτεί πολύ χρόνο και τα αρχεία Excel δεν θα αντιμετωπίζουν πλέον τον όγκο των δεδομένων εισόδου.

Ωστόσο, δεν μπορεί να σας ταιριάζει κάθε "1C" πρέπει να λάβετε υπόψη διάφορους παράγοντες: τις ιδιαιτερότητες και το εύρος της επιχείρησης, την κλίμακα, την ανάγκη για καθημερινές εργασίες, τη ρουτίνα που πρέπει να ελαχιστοποιηθεί. Όλα είναι ατομικά. Η αλήθεια, όπως είπα ήδη, είναι κάπου μεταξύ "1C" και "Excel" - αλληλοσυμπληρώνεται.

Μάλλον αυτό είναι όλο. Αλλά αν έχετε οποιεσδήποτε ερωτήσεις, επικοινωνήστε μαζί μας, θα προσπαθήσουμε να σας βοηθήσουμε. Επιτυχείς επιχειρηματικές διαδικασίες συνάδελφοι!

Αυτή η μέθοδος είναι απλή. Η ουσία του είναι ότι το αντικείμενο Πίνακας Έγγραφοέχει μεθόδους:

  • Σημειωσε (< ИмяФайла>, < ТипФайлаТаблицы >) για να ανεβάσετε δεδομένα σε ένα αρχείο.
  • Ανάγνωση (< ИмяФайла>, < СпособЧтенияЗначений >) για να φορτώσετε δεδομένα από ένα αρχείο.

Προσοχή!

Η μέθοδος Write() είναι διαθέσιμη τόσο στον πελάτη όσο και στον διακομιστή. Η μέθοδος Read() είναι διαθέσιμη μόνο από την πλευρά του διακομιστή. Πρέπει να το θυμάστε αυτό
κατά τον σχεδιασμό της αλληλεπίδρασης πελάτη-διακομιστή.

Ας δούμε ένα παράδειγμα αποθήκευσης ενός εγγράφου υπολογιστικού φύλλου σε ένα αρχείο. Είναι απαραίτητο να δημιουργήσετε και να γεμίσετε το αντικείμενο TabularDocument με οποιονδήποτε τρόπο και εκφόρτωσηστο αρχείο γίνεται με μία μόνο γραμμή:

TabDoc . Write(FilePath, TabularDocumentFileType. XLSX);

Εδώ TabDoc- δημιουργημένο έγγραφο υπολογιστικού φύλλου, Η διαδρομή προς το αρχείο— όνομα του αρχείου προς αποστολή, TabularDocumentFileType.XLSX— μορφή του αρχείου που δημιουργήθηκε. Υποστηρίζονται οι ακόλουθες μορφές Excel:

  • XLS95 - Μορφή Excel 95.
  • XLS97 - Μορφή Excel 97.
  • Το XLSX είναι μια μορφή Excel 2007.

TabDoc = Νέο TabularDocument;
TabDoc . Read(PathToFile, Method of ReadingTabularDocumentValues.Value);

Εδώ Η διαδρομή προς το αρχείο— διαδρομή προς το ληφθέν αρχείο Excel. Μέθοδος ανάγνωσης τιμών ενός πίνακα εγγράφου.Τιμήκαθορίζει πώς πρέπει να ερμηνεύονται τα δεδομένα που διαβάζονται από ένα έγγραφο προέλευσης. Διαθέσιμες Επιλογές:

  • Εννοια;
  • Κείμενο.

Ανταλλαγή μέσω OLE

Η ανταλλαγή μέσω τεχνολογίας αυτοματισμού OLE είναι ίσως η πιο κοινή επιλογή για προγραμματική εργασία με αρχεία Excel. Σας επιτρέπει να χρησιμοποιείτε όλη τη λειτουργικότητα που παρέχεται από το Excel, αλλά είναι πιο αργή από άλλες μεθόδους. Για ανταλλαγή μέσω OLE, απαιτείται εγκατάσταση MS Excel:

  • Στον υπολογιστή του τελικού χρήστη, εάν η ανταλλαγή πραγματοποιείται από την πλευρά του πελάτη.
  • Στον υπολογιστή διακομιστή 1C:Enterprise, εάν η ανταλλαγή πραγματοποιείται από την πλευρά του διακομιστή.

Παράδειγμα εκφόρτωση:

// Δημιουργία αντικειμένου COM
Excel = Νέο COMObject("Excel.Application");
// Απενεργοποιήστε τις προειδοποιήσεις και τις ερωτήσεις
Προέχω . DisplayAlerts = False;
// Δημιουργία νέου βιβλίου
Βιβλίο = Excel. Βιβλία Εργασίας. Προσθήκη();
// Τοποθέτηση στο πρώτο φύλλο
Σεντόνι = Βιβλίο. Φύλλα εργασίας(1);

// Γράψτε μια τιμή σε ένα κελί
Σεντόνι . Κελιά (Αριθμός γραμμής, αριθμός στήλης). Τιμή = CellValue;

// Αποθηκεύστε το αρχείο
Βιβλίο . SaveAs(FileName);


Προέχω . Εγκαταλείπω();
Excel = 0;

Παραδείγματα ΑΝΑΓΝΩΣΗ:

// -- ΕΠΙΛΟΓΗ 1 --

// Δημιουργία αντικειμένου COM
Excel = Νέο COMObject("Excel.Application");
// Άνοιξε ένα βιβλίο
Βιβλίο = Excel. Τετράδια εργασιών. Ανοιξε( Η διαδρομή προς το αρχείο );

Σεντόνι = Βιβλίο. Φύλλα εργασίας(1);

// Κλείσιμο του βιβλίου
Βιβλίο . Κλείσιμο(0);

// Κλείστε το Excel και ελευθερώστε μνήμη
Προέχω . Εγκαταλείπω();
Excel = 0;

// —— ΕΠΙΛΟΓΗ 2 ——

// Άνοιξε ένα βιβλίο
Βιβλίο = GetCOMObject( Η διαδρομή προς το αρχείο );
// Τοποθέτηση στο επιθυμητό φύλλο
Σεντόνι = Βιβλίο. Φύλλα εργασίας(1);

// Διαβάστε την τιμή του κελιού, συνήθως ο βρόχος διέλευσης κελιού βρίσκεται εδώ
CellValue = Φύλλο. Κελιά (Αριθμός γραμμής, αριθμός στήλης). Αξία;

// Κλείσιμο του βιβλίου
Βιβλίο . Εφαρμογή. Qui t();

Για παράκαμψηΓια όλες τις ολοκληρωμένες σειρές του φύλλου εργασίας του Excel, μπορείτε να χρησιμοποιήσετε τις ακόλουθες τεχνικές:

// -- ΕΠΙΛΟΓΗ 1 --
Αριθμός Σειρών = Φύλλο. Κύτταρα (1, 1). SpecialCells(11). Σειρά;
Για RowNumber = 1 By Number of Rows Cycle
CellValue = Φύλλο. Κελιά (Αριθμός γραμμής, αριθμός στήλης). αξία;
EndCycle;

// —— ΕΠΙΛΟΓΗ 2 ——
Αριθμός γραμμής = 0 ;
Ενώ ο Κύκλος της Αλήθειας
RowNumber = RowNumber + 1 ;
CellValue = Φύλλο. Κελιά (Αριθμός γραμμής, αριθμός στήλης). Αξία;
Εάν ΔΕΝ έχει συμπληρωθεί η τιμή (CellValue) Επειτα
Αμβλώνω;
τέλος εαν;
EndCycle;

Αντί να διασχίζετε όλες τις σειρές του φύλλου διαδοχικά, μπορείτε απορρίψτε όλα τα δεδομένα σε έναν πίνακακαι συνεργαστείτε μαζί του. Αυτή η προσέγγιση θα είναι πιο γρήγορη κατά την ανάγνωση μεγάλου όγκου δεδομένων:

TotalColumns = Φύλλο. Κύτταρα (1, 1). SpecialCells(11). Στήλη;
TotalRows = Φύλλο. Κύτταρα (1, 1). SpecialCells(11). Σειρά;

Περιοχή = Φύλλο. Εύρος (Φύλλο. Κελιά (1, 1), Φύλλο. Κελιά (Σύνολο σειρών, Σύνολο στηλών));
Δεδομένα = Περιφέρεια. Αξία. Ξεφορτώνω();

Ο παρακάτω πίνακας δείχνει τις πιο δημοφιλείς ιδιότητες και μεθόδους εργασίας με το Excel μέσω OLE:

Δράση Κώδικας Ενα σχόλιο
Εργασία με την εφαρμογή
Ρύθμιση ορατότητας παραθύρου εφαρμογής Προέχω . Ορατός= Λάθος;
Ρύθμιση της λειτουργίας εξόδου προειδοποίησης (εμφάνιση/όχι εμφάνιση) Προέχω . DisplayAlerts= Λάθος;
Κλείσιμο της εφαρμογής Προέχω . Εγκαταλείπω();
Εργασία με ένα βιβλίο
Δημιουργία νέου βιβλίου Βιβλίο = Excel. Βιβλία Εργασίας. Προσθήκη();
Άνοιγμα υπάρχοντος βιβλίου εργασίας Βιβλίο = Excel. Βιβλία Εργασίας. Άνοιγμα(Όνομα αρχείου);
Αποθήκευση βιβλίου Βιβλίο . SaveAs(Όνομα αρχείου);
Κλείνοντας το βιβλίο Βιβλίο . Κλείσιμο(0);
Εργασία με ένα φύλλο
Ρύθμιση του τρέχοντος φύλλου Σεντόνι = Βιβλίο. Φύλλα εργασίας (Αριθμός φύλλου);
Ρύθμιση του ονόματος Σεντόνι . Όνομα = Όνομα;
Ρύθμιση προστασίας Σεντόνι . Προστατεύω();
Αφαίρεση προστασίας Σεντόνι . UnProtect();
Ρύθμιση του προσανατολισμού της σελίδας Σεντόνι . Εγκατάσταση σελίδας. Προσανατολισμός = 2; 1 - πορτραίτο, 2 - τοπίο
Ρύθμιση του αριστερού περιγράμματος Σεντόνι . Εγκατάσταση σελίδας. LeftMargin = Excel. CentimetersToPoints (Centimeters);
Ρύθμιση του ανώτατου ορίου Σεντόνι . Εγκατάσταση σελίδας. TopMargin = Excel. CentimetersToPoints (Centimeters);
Ρύθμιση του δεξιού περιγράμματος Σεντόνι . Εγκατάσταση σελίδας. RightMargin = Excel. CentimetersToPoints (Centimeters);
Ρύθμιση του κατώτερου ορίου Σεντόνι . Εγκατάσταση σελίδας. BottomMargin = Excel. CentimetersToPoints (Centimeters);
Εργασία με γραμμές, στήλες, κελιά
Ρύθμιση πλάτους στήλης Σεντόνι . Στήλες (ColumnNumber). ColumnWidth = Πλάτος;
Διαγραφή γραμμής Σεντόνι . Γραμμές (Αριθμός Σειράς). Διαγράφω();
Αφαίρεση στήλης Σεντόνι . Στήλες (ColumnNumber). Διαγράφω();
Διαγραφή κελιού Σεντόνι . Κελιά (Αριθμός γραμμής, αριθμός στήλης). Διαγράφω();
Ρύθμιση της τιμής Σεντόνι . Κελιά (Αριθμός γραμμής, αριθμός στήλης). Αξία = Αξία;
Συγχώνευση κυττάρων Σεντόνι . Εύρος (Φύλλο. Κελιά (Αριθμός γραμμής, Αριθμός στήλης), Φύλλο. Κελιά (Αριθμός σειράς1, Αριθμός στήλης1)). Συγχώνευση();
Ρύθμιση της γραμματοσειράς Σεντόνι . Κελιά (Αριθμός γραμμής, αριθμός στήλης). Γραμματοσειρά. Όνομα = Όνομα γραμματοσειράς;
Ρύθμιση του μεγέθους της γραμματοσειράς Σεντόνι . Κελιά (Αριθμός γραμμής, αριθμός στήλης). Γραμματοσειρά. Μέγεθος = Μέγεθος γραμματοσειράς;
Ρύθμιση έντονης γραμματοσειράς Σεντόνι . Κελιά (Αριθμός γραμμής, αριθμός στήλης). Γραμματοσειρά. Τολμηρός = 1 ; 1 - έντονη, 0 - κανονική
Ρύθμιση πλάγιων γραμμάτων Σεντόνι . Κελιά (Αριθμός γραμμής, αριθμός στήλης). Γραμματοσειρά. Πλάγια γραφή = 1 ; 1 - πλάγιο, 0 - κανονικό
Ρύθμιση της υπογραμμισμένης γραμματοσειράς Σεντόνι . Κελιά (Αριθμός γραμμής, αριθμός στήλης). Γραμματοσειρά. Υπογραμμίζω = 2 ; 2 - υπογραμμισμένο, 1 - όχι

Για να μάθετε ποια ιδιότητα πρέπει να αλλάξει ή ποια μέθοδο να καλέσετε, μπορείτε να χρησιμοποιήσετε μακροεντολέςΠροέχω. Εάν εγγράψετε μια μακροεντολή με τις απαιτούμενες ενέργειες, τότε μπορείτε να δείτε τον κωδικό VBA της εγγεγραμμένης μακροεντολής.

Χρησιμοποιώντας το COMSafeArray

Κατά τη λήψη μεγάλων ποσοτήτων δεδομένων από το 1C στο Excel, μπορείτε να χρησιμοποιήσετε το αντικείμενο για να επιταχύνετε COMSafeArray. Σύμφωνα με τον ορισμό από τον βοηθό σύνταξης, το COMSafeArray είναι ένα περιτύλιγμα αντικειμένων πάνω από έναν πολυδιάστατο πίνακα SafeArrayαπό την COM. Σας επιτρέπει να δημιουργείτε και να χρησιμοποιείτε το SafeArray για την ανταλλαγή δεδομένων μεταξύ αντικειμένων COM. Με απλά λόγια, είναι μια σειρά τιμών που μπορεί να χρησιμοποιηθεί για ανταλλαγή μεταξύ εφαρμογών χρησιμοποιώντας τεχνολογία OLE.

// Δημιουργία COMSafeArray
ArrayCom = New COMSafeArray("VT_Variant" , TotalColumns, TotalRows);
// Γεμίστε το COMSafeArray
Για Σελίδα = 0 Κατά Σύνολο Γραμμών - 1 Κύκλος
Για Αριθμός = 0 Σύνολο στηλών - 1 Κύκλος
ArrayCom . SetValue(Count, Page, Value);
EndCycle;
EndCycle;
// Εκχώρηση μιας περιοχής φύλλου εργασίας του Excel σε τιμές από το COMSafeArray
Σεντόνι . Εύρος (Φύλλο. Κελιά (1, 1), Φύλλο. Κελιά (Σύνολο σειρών, Σύνολο στηλών)). Τιμή = ArrayCom;

Ανταλλαγή μέσω ADO

Ένα αρχείο Excel, όταν ανταλλάσσεται μέσω ADO, είναι μια βάση δεδομένων στην οποία μπορείτε να προσπελάσετε χρησιμοποιώντας ερωτήματα SQL. Δεν απαιτείται εγκατάσταση του MS Excel, αλλά πρέπει να έχετε ένα πρόγραμμα οδήγησης ODBC με το οποίο θα παρέχεται πρόσβαση. Το πρόγραμμα οδήγησης ODBC που θα χρησιμοποιηθεί καθορίζεται καθορίζοντας τη συμβολοσειρά σύνδεσης στο αρχείο. Συνήθως, το απαιτούμενο πρόγραμμα οδήγησης είναι ήδη εγκατεστημένο στον υπολογιστή.

Η ανταλλαγή μέσω ADO είναι αισθητά ταχύτερη από την ανταλλαγή μέσω OLE, αλλά κατά τη μεταφόρτωση δεν είναι δυνατή η χρήση της λειτουργικότητας του Excel για το σχεδιασμό κελιών, τη διάταξη σελίδων, τη ρύθμιση τύπων κ.λπ.

Παράδειγμα εκφόρτωση:


Connection = New COMObject("ADODB.Connection");


Χημική ένωση . ConnectionString = "

|Πηγή δεδομένων=" + Όνομα αρχείου + ";
;
Χημική ένωση . Ανοιξε(); // Άνοιγμα σύνδεσης

// Δημιουργήστε ένα αντικείμενο COM για την εντολή
Command = New COMObject("ADODB.Command");
Ομάδα

// Εκχώρηση κειμένου εντολής για τη δημιουργία πίνακα
Ομάδα . CommandText = "ΔΗΜΙΟΥΡΓΙΑ ΠΙΝΑΚΑ [Φύλλο1] (Στήλη 1 χαρακτήρες (255), Ημερομηνία Στήλης 2, Στήλη 3 int, Στήλη 4 float)";
Ομάδα . Εκτέλεση(); // Εκτελέστε την εντολή

// Εκχώρηση κειμένου εντολής για προσθήκη σειράς πίνακα
Ομάδα . CommandText = "INSERT INTO [Φύλλο1] (Στήλη1, Στήλη2, Στήλη3, Στήλη 4) τιμές ('abvwhere', '8/11/2017', '12345', '12345,6789')";
Command.Execute(); // Εκτελέστε την εντολή

// Καταργήστε την εντολή και κλείστε τη σύνδεση
Εντολή = Απροσδιόριστο;
Χημική ένωση . Κλείσε();
Σύνδεση = Απροσδιόριστη;

Για να δημιουργήσετε ένα νέο φύλλο και να σχηματίσετε τη δομή του, μπορείτε να χρησιμοποιήσετε αντικείμενα ADOX.ΚατάλογοςΚαι ADOX.Πίνακας. Σε αυτήν την περίπτωση, ο κώδικας θα μοιάζει με αυτό:

// Δημιουργία αντικειμένου COM για εργασία με το βιβλίο
Βιβλίο = Νέο COMObject("ADOX.Catalog");
Βιβλίο . ActiveConnection = Σύνδεση;

// Δημιουργήστε ένα αντικείμενο COM για εργασία με τη δομή δεδομένων στο φύλλο
Πίνακας = Νέο αντικείμενο COMO("ADOX.Table");
Τραπέζι . Όνομα = "Φύλλο1" ;
Τραπέζι . Στήλες. Προσάρτημα ("Στήλη 1", 202);
Τραπέζι . Στήλες. Προσάρτημα ("Στήλη 2", 7);
Τραπέζι . Στήλες. Append("Στήλη 3", 5);
Τραπέζι . Στήλες. Append("Στήλη 4", 5);

// Δημιουργήστε ένα φύλλο με την περιγραφόμενη δομή στο βιβλίο εργασίας
Βιβλίο . Πίνακες. Προσάρτημα(Πίνακας);
Πίνακας = Απροσδιόριστο;
Βιβλίο = Απροσδιόριστο;

Στο παραπάνω παράδειγμα, στη μέθοδο

Τραπέζι . Στήλες. Προσαρτώ(“Στήλη 1”, 202);

η δεύτερη παράμετρος καθορίζει τον τύπο της στήλης. Η παράμετρος είναι προαιρετική. Ακολουθούν ορισμένες τιμές τύπου στήλης:

  • 5 - adDouble;
  • 6 - AdCorrency;
  • 7 - addDate;
  • 11 - adBoolean;
  • 202 - adVarWChar;
  • 203 - adLongVarWChar.

Παράδειγμα ΑΝΑΓΝΩΣΗ:

// Δημιουργήστε ένα αντικείμενο COM για τη σύνδεση
Connection = New COMObject("ADODB.Connection");

// Ορίστε τη συμβολοσειρά σύνδεσης
Χημική ένωση . ConnectionString = "
|Provider=Microsoft.ACE.OLEDB.12.0;
|Πηγή δεδομένων=" + Όνομα αρχείου + ";
|Extended Properties=""Excel 12.0 XML;HDR=YES"";";
Χημική ένωση . Ανοιξε(); // Άνοιγμα σύνδεσης

// Δημιουργήστε ένα αντικείμενο COM για να λάβετε την επιλογή
Select = New COMObject("ADODB.Recordset");
RequestText = "ΕΠΙΛΟΓΗ * ΑΠΟ [Φύλλο1$]";

// Εκτελέστε το αίτημα
Δείγμα . Open(QueryText, Connection);

// Παράκαμψη του αποτελέσματος του δείγματος
Δεν υπάρχει ακόμη επιλογή. Βρόχος ΕΟΦ()
Τιμή στήλης 1 = Επιλογή. Πεδία. Στοιχείο ("Στήλη 1"). αξία ; // Πρόσβαση με βάση το όνομα της στήλης
Column2Value = Επιλογή. Πεδία. Στοιχείο(0). Αξία; // Πρόσβαση κατά ευρετήριο στήλης
Δείγμα . MoveNext();
EndCycle;

Δείγμα . Κλείσε();
Δείγμα = Απροσδιόριστο;
Χημική ένωση . Κλείσε();
Σύνδεση = Απροσδιόριστη;

Στη συμβολοσειρά σύνδεσης η παράμετρος HDRκαθορίζει πώς θα γίνει αντιληπτή η πρώτη γραμμή στο φύλλο. Πιθανές επιλογές:

  • ΝΑΙ - η πρώτη γραμμή αντιμετωπίζεται ως ονόματα στηλών. Οι τιμές είναι προσβάσιμες με βάση το όνομα και το ευρετήριο στήλης.
  • ΟΧΙ - η πρώτη γραμμή αντιμετωπίζεται ως δεδομένα. Οι τιμές είναι προσβάσιμες μόνο από το ευρετήριο στήλης.

Αυτά τα παραδείγματα καλύπτουν μόνο μερικά αντικείμενα ADO. Το μοντέλο αντικειμένου ADO αποτελείται από τα ακόλουθα αντικείμενα:

  • σύνδεση;
  • Εντολή;
  • σύνολο εγγραφών?
  • Ρεκόρ;
  • Πεδία;
  • Ρεύμα;
  • Σφάλματα;
  • Παράμετροι;
  • Ιδιότητες.

Μεταφόρτωση χωρίς προγραμματισμό

Για να αποθηκεύσετε δεδομένα από το 1C στο Excel, δεν είναι πάντα σκόπιμο να καταφεύγετε στον προγραμματισμό. Εάν στη λειτουργία Enterprise ο χρήστης μπορεί να εμφανίσει τα δεδομένα που απαιτούνται για τη λήψη, τότε μπορούν να αποθηκευτούν στο Excel χωρίς προγραμματισμό.

Για να αποθηκεύσετε ένα έγγραφο υπολογιστικού φύλλου (για παράδειγμα, το αποτέλεσμα μιας αναφοράς), μπορείτε να καλέσετε την εντολή Αποθηκεύσετεή Αποθήκευση ως…κυρίως μενού.

Στο παράθυρο που ανοίγει, πρέπει να επιλέξετε τον κατάλογο, το όνομα και τη μορφή του αποθηκευμένου αρχείου.

Για να αποθηκεύσετε δεδομένα από δυναμικές λίστες (για παράδειγμα, μια λίστα στοιχείων), πρέπει:

  1. Εξαγωγή δεδομένων σε ένα έγγραφο υπολογιστικού φύλλου χρησιμοποιώντας την εντολή Περισσότερα ⇒ Λίστα...;
  2. Αποθηκεύστε το έγγραφο υπολογιστικού φύλλου στην απαιτούμενη μορφή.

Στο 1C υπάρχουν 2 τρόποι εργασίας με αρχεία MS Excel: μέσω ενός αντικειμένου COM και ενσωματωμένων εργαλείων 1C χρησιμοποιώντας ένα αντικείμενο εγγράφου υπολογιστικού φύλλου. Ας δούμε και τις δύο αυτές μεθόδους με περισσότερες λεπτομέρειες.

1. Εργαστείτε μέσω ενός αντικειμένου COM.

Αυτή η μέθοδος απαιτεί εγκατεστημένο MS Excel και εάν εργάζεστε με ένα αρχείο στον διακομιστή, τότε το MS Excel πρέπει να εγκατασταθεί στον διακομιστή, εάν στον υπολογιστή-πελάτη, τότε απαιτείται και το MS Excel από την πλευρά του πελάτη.

Παράδειγμα (μπορείτε να το δείτε σε μορφή κειμένου στο τέλος του άρθρου):

Θα πρέπει να σημειωθεί ότι όλα τα αντικείμενα, οι μέθοδοι και οι ιδιότητες που παρέχονται από το αντικείμενο COM "Excel.Application" είναι αντικείμενα, μέθοδοι και ιδιότητες της VBA, της γλώσσας προγραμματισμού MS Office.

Σημείωση:

Μερικές φορές χρειάζεται να εργαστείτε με ένα υπάρχον πρότυπο. Στη συνέχεια, πρέπει να αποθηκεύσουμε αυτό το πρότυπο κάπου, ώστε όλοι οι απαραίτητοι χρήστες να έχουν πρόσβαση σε αυτό. Ωστόσο, υπάρχει μια απλούστερη λύση, αποθηκεύστε το πρότυπο ως δυαδική διάταξη.

2. Εργαστείτε μέσω του Πίνακα εγγράφου 1C.

Το έγγραφο υπολογιστικού φύλλου 1C υποστηρίζει τη μορφή MS Excel για εγγραφή ξεκινώντας από την πλατφόρμα 8, αλλά για άνοιγμα μόνο ξεκινώντας από την πλατφόρμα 8.3.6. Επιπλέον, όταν ανοίγουν, όλα τα φύλλα φορτώνονται σε ένα έγγραφο υπολογιστικού φύλλου. Από την έκδοση 8.3.10, κατά τη φόρτωση, διαφορετικά φύλλα φορτώνονται ως διαφορετικές περιοχές.

Ένα παράδειγμα καταχώρισης είναι πολύ απλό και δεν απαιτεί ιδιαίτερη προσοχή:

Ωστόσο, εδώ έχουμε ένα πρόβλημα. Κατά την εγγραφή από 1C σε βιβλίο εργασίας του Excel, η εμφάνιση των ονομάτων φύλλων είναι απενεργοποιημένη από προεπιλογή.

Αυτό το πρόβλημα μπορεί να λυθεί με 2 τρόπους, 1 - στο ίδιο το βιβλίο εργασίας, ενεργοποιήστε την εμφάνιση των φύλλων στις ρυθμίσεις (δεν θα συμφωνήσουν όλοι οι χρήστες να το κάνουν), 2 - κάντε το μέσω ενός αντικειμένου COM (χρειαζόμαστε ξανά εγκατάσταση του MS Excel ).

Μετά από αυτή τη μικρή προσθήκη, οι ετικέτες των φύλλων θα είναι ορατές στο αρχείο MS Excel.

Η ανάγνωση του MS Excel δεν είναι τόσο εύκολη υπόθεση, καθώς η μέθοδος ανάγνωσης είναι διαθέσιμη μόνο στον διακομιστή ή σε παχύ πρόγραμμα-πελάτη. Για να γίνει αυτό, πρέπει να μεταφέρουμε το αρχείο MS Excel στον διακομιστή.

&OnClient

Διαδικασία CreateDocument()

Εξαίρεση

EndAttempt;

Βιβλίο = Excel.WorkBooks.Add(); //Δημιουργία νέου βιβλίου εργασίας MS Excel

Φύλλο = Book.WorkSheets.Add(); //Προσθήκη φύλλου

Sheet.Name = "Παράδειγμα από 1C"; //Ορίστε το όνομα του φύλλου

Sheet.Cells(1,1).Value = "Ας δημιουργήσουμε έναν τύπο";!}

Sheet.Cells(2,1).Τιμή = 1;

Φύλλο.Κελιά(2,2).Τιμή = 2;

Sheet.Cells(2,3).Τύπος = "=A2+B2";

Sheet.Cells(3,1).Value = CurrentDate();

Book.SaveAs("C:\1\Test.xlsx");

Book.Close();

Τέλος Διαδικασίας

&Στον διακομιστή

Συνάρτηση GetLayoutServer()

Return FormAttributesValue("Object").GetLayout("TemplateForUpload"); //Με αυτόν τον τρόπο παίρνουμε τη διάταξη εξωτερικής επεξεργασίας.

EndFunction

&OnClient

Διαδικασία Εργασίας()

Excel = Νέο COMObject("Excel.Application");

Εξαίρεση

Αναφορά ("Μια προσπάθεια σύνδεσης του στοιχείου Excel ήταν ανεπιτυχής. Το Excel ενδέχεται να μην είναι εγκατεστημένο σε αυτόν τον υπολογιστή!");

EndAttempt;

Layout = GetLayoutServer();

Layout.Write(TemporaryFileName);

Έχετε κάποια ερώτηση ή χρειάζεστε βοήθεια από έναν σύμβουλο;

Βιβλίο = Excel.WorkBooks.Open(TemporaryFileName);

SheetTemplate = Book.WorkSheets(1);

SheetTemplate.Cells(6,1).Value = "Date:";!}

SheetTemplate.Cells(6,2).Value = CurrentDate();

SheetTemplate.NumberFormat = "ηη/μμ/εε;@"; // Δώστε τη μορφή ημερομηνίας, αυτή η μορφή λήφθηκε με την εγγραφή μιας μακροεντολής στο MS Excel

SheetTemplate.Columns("B:B").EntireColumn.AutoFit; // Τεντώστε τη στήλη έτσι ώστε η ημερομηνία να ταιριάζει ακριβώς

Book.SaveAs(FileName);

Book.Close();

Τέλος Διαδικασίας

&OnClient

Τέλος Διαδικασίας

&OnClient

Διαδικασία WriteTabularDocument()

TabularDocument = Νέο TabularDocument();

TabularDocument.Area("R1C1").Text = "Παράδειγμα εγγραφής στο MS Excel από 1C";

TabularDocument.Write("C:\1\Test2.xls",TabularDocumentFileType.XLSX);

Excel = Νέο COMObject("Excel.Application");

Excel.WorkBooks.Open("C:\1\Test2.xls");

Excel.Visible = 0;

Excel.ActiveWindow.DisplayWorkbookTabs = 1;

Excel.ActiveWindow.TabRatio = 0,6;

Excel.ActiveWorkbook.Save();

Excel.Application.Quit()

Τέλος Διαδικασίας

BinaryData = New BinaryData("C:\1\test2.xlsx");

Address=PlaceInTemporaryStorage(BinaryData,ThisForm.UniqueIdentifier);

TabularDocument = UploadOnServer(Διεύθυνση);

TabularDocument.Show();

Τέλος Διαδικασίας

&Στον διακομιστή

Λειτουργία UploadOnServer (Διεύθυνση)

TemporaryFileName = GetTemporaryFileName("xlsx");

FileData = GetFromTemporaryStorage(Διεύθυνση);

FileData.Write(TemporaryFileName);

TabularDocument = Νέο TabularDocument();

επιστροφή TabularDocument;