Import von Kontrahenten in 1s 8.3 aus Excel. Ist es möglich, Daten aus Excel in das Nachschlagewerk „Nomenklatur“ zu laden? DIY-Transferverarbeitungsoptionen

Diese Frage kam von Sergei aus Nowokusnezk.

Natürlich kannst du. Schauen wir uns an, wie das geht konkretes Beispiel. Nehmen wir an, wir haben eine Excel-Tabelle:

Wir müssen Daten aus den Spalten „Name“ und „Vollständige Benennung“ in das Verzeichnis „Nomenklatur“ laden. Machen wir die Sache etwas komplizierter. Angenommen, diese Daten müssen in eine bestimmte Gruppe im Verzeichnis aufgenommen werden.

Erstellen wir die Gruppe „Fasteners“ im Verzeichnis „Nomenclature“:

Jetzt müssen wir mit der Verarbeitung „Laden von Daten aus einem Tabellenkalkulationsdokument“ beginnen (diese finden Sie im Abschnitt).

Wählen Sie im Menü „Datei“ den Punkt „Öffnen“. Im sich öffnenden Fenster finden wir die Datei „Data Loading From Tabular Document.epf“ und führen sie aus. Es öffnet sich folgendes Fenster:

Im Feld „Download-Modus“ steht „In Verzeichnis herunterladen“. Wählen Sie im Feld „Verzeichnistyp“ die Option „Nomenklatur“ aus. Klicken Sie anschließend auf die Schaltfläche „Datei öffnen...“ (angezeigt durch den Pfeil):

Wählen Sie im sich unten öffnenden Fenster den Dateityp „Excel Sheet (*.xls)“ aus:

und wählen Sie unsere Excel-Datei aus, von der wir einen Download durchführen müssen.

Wir sehen dieses Bild:

Gehen Sie zur Registerkarte „Einstellungen“. Geben Sie im Feld „Erste Zeile der Tabellendokumentdaten“ Folgendes ein: 2 , Weil In der ersten Zeile haben wir den Tabellenkopf und müssen ihn nicht laden.
Als nächstes stellen Sie „Spaltennummerierung“ – „Manuelle Spaltennummerierung“ ein:

Wir aktivieren die Kontrollkästchen in den Zeilen „Name“ und „Vollständiger Name“, belassen den Lademodus auf „Suchen“ und setzen die Spaltennummer auf 2 bzw. 3 (die zweite und dritte Spalte unseres Excel-Tabellen):

Jetzt müssen wir angeben, wo und in welchen Ordner heruntergeladen werden soll. Wir aktivieren das Kontrollkästchen in der Zeile „Übergeordnet“, wählen den Startmodus „Installieren“ und wählen in der Spalte „Standardwert“ unsere Gruppe „Verbindungselemente“ aus dem Verzeichnis „Nomenklatur“ aus:

Jetzt müssen nur noch der Mehrwertsteuersatz und die Maßeinheit ausgewählt werden (wenn wir dies nicht tun, müssen wir sie für jeden Artikel im Verzeichnis manuell festlegen). Wir aktivieren die Kontrollkästchen neben den Punkten „Basismaßeinheit“ und „Mehrwertsteuersatz“, wählen den Download-Modus „Installieren“ und wählen in der Spalte „Standardwert“ „Stk“ bzw. „18 %“ aus:

Wir sind mit der Einrichtung fertig. Gehen Sie zur Registerkarte „Tabellarisches Dokument“ und klicken Sie auf die Schaltfläche „Füllkontrolle“. Das Programm schrieb an die Tafel:

Die Füllkontrolle ist abgeschlossen. Geprüfte Zeilen: 7
Es wurden keine fehlerhaften Zellen identifiziert

Alle. Kann heruntergeladen werden. Klicken Sie unten rechts auf „Herunterladen“. Nach dem Download prüfen wir unser Verzeichnis „Nomenklatur“. Wir sehen dieses Bild:

In diesem Artikel habe ich anhand eines konkreten Beispiels gezeigt, wie Sie Daten aus einer Excel-Tabelle in das Nomenklatur-Nachschlagewerk laden können. Dies war ein einfaches Beispiel. Aber für einige wird es äußerst schwierig erscheinen.

Versuchen Sie auf jeden Fall, etwas Ähnliches zu tun, experimentieren Sie aber nicht mit einer funktionierenden Datenbank, sondern machen Sie es mit einer Demodatenbank oder einer leeren Datenbank und erstellen Sie nicht zuerst eine Archivkopie. Auch wenn Sie es nie benötigen, verbessern Sie Ihre Fähigkeiten ein wenig und erweitern Ihre Benutzerkenntnisse.

Es wäre interessant zu wissen, ob dieses Material nützlich war? Wenn es nicht schwierig ist, schreiben Sie Ihren eigenen Artikel für diesen Artikel. Dies wird mir in Zukunft bei der Vorbereitung des Materials helfen.

11
AUFMERKSAMKEIT! Wenn Sie die unten beschriebenen Codes verwenden, entfernen Sie das _-Symbol. Sehen wir uns Beispiele dafür an! =) Ich kenne zwei Möglichkeiten: 1. Durch Ersetzen von Vorlagentext im Word-Layout. 2. Durch Einfügen von Text aus... 9
Tabellen von Excel nach MXL konvertieren - Konverter Excel v MXL herunterladen: Für 8.x - Für 7.7 - // Datei auswählen Microsoft Excel Prozedur FileNameStartChoice(Element, StdProcessing) StdProcessing = False; DialogFile = New FileDialog(FileDialogMode. 3
Ich denke, jeder ist schon einmal auf eine Excel-Datei mit einem Blatt von 1C gestoßen, die auf den ersten Blick nicht die Möglichkeit bietet, Blätter hinzuzufügen. Es ist nicht so beängstigend – sie wurden einfach versteckt oder meistens nicht einmal angezeigt (aufgrund der Schöpfung ... 2
Prozedur SaveTableToFileExcel(Table, FullFileName=" " , OpenFileSelectionDialog=True, UploadedColumns=" ") Export If EmptyLine(FullFileName) OR OpenFileSelectionDialog Then Dialog =...

In 1C 8.3 ist es möglich, eine Liste aus einem Tabellenkalkulationsdokument, beispielsweise aus einer Excel-Datei, massenhaft zu laden.

Für die Verladung nutzen wir eine externe Verarbeitung Laden von Daten aus TabularDocument.epf für verwaltete Formulare (8.2 und 8.3), die heruntergeladen werden können . Es ist universell und sollte für jede Konfiguration geeignet sein, die für eine verwaltete Anwendung geschrieben wurde.

  • Wenn Sie Programmierer sind und Ihren eigenen Download aus Excel entwickeln möchten, detaillierte Anleitung Von ;
  • Ein Beispiel für das Laden einer Preisliste in 1C Trade Management finden Sie unter.

Um die externe Verarbeitung zu starten, müssen Sie im Menü „Datei“ auf „Öffnen“ gehen und diese Verarbeitung aus dem Verzeichnis auswählen, in dem sie gespeichert wurde:

Verarbeitung Laden von Daten aus einem Tabellenkalkulationsdokument 1C 8.3 (verwaltete Formulare)

Nachdem die Verarbeitung in 1C geöffnet wurde, können Sie mit der Arbeit beginnen. Zunächst müssen wir entscheiden, wo und was wir herunterladen:

Ich möchte ein Beispiel im Verzeichnis „“ geben. Ich habe eine Datendatei im XLS-Format erstellt.

Die Verarbeitung kann auch Dateien im folgenden Format laden:

  • jedes andere Format, aus dem Sie Daten kopieren können.

So sieht die Excel-Datei mit den Quelldaten aus, die wir in das Nachschlagewerk „Nomenklatur“ hochladen:

Holen Sie sich 267 Video-Lektionen zu 1C kostenlos:

Ich habe nicht alle Felder im Verzeichnis aufgeschrieben, da dies ausreicht, um das Prinzip des Ladens zu verstehen. Darüber hinaus reichen diese Daten aus, um mit diesen Positionen zu arbeiten.

Diese Stellen sind noch nicht verfügbar Informationsbasis 1C, und wir werden sie jetzt dort hochladen.

Klicken Sie auf das Symbol „Öffnen“ (in der Abbildung als „Quelle auswählen“ gekennzeichnet) und wählen Sie die Datei mit den Daten aus. Sie können die Informationen einfach kopieren. Meine Beispieldatei kann heruntergeladen werden. Die Daten werden automatisch in die Verarbeitung übernommen. Überprüfen wir nun, ob wir unsere Daten korrekt eingegeben haben. Klicken Sie dazu auf die Schaltfläche „Füllkontrolle“.

Wie Sie sehen, haben wir einige Fehler! Wir werden es beseitigen. Gehen Sie zur Registerkarte „Einstellungen“:

Bevor ich Fehler behebe, möchte ich Sie auf ein wichtiges Detail aufmerksam machen. Das Programm weiß zunächst nicht, in welchem ​​Feld nach einem Verzeichniselement gesucht werden soll, falls es bereits vorhanden ist. Also muss sie darauf hinweisen. Ich bevorzuge die Suche nach Code, da dieser normalerweise eindeutig ist. Setzen Sie in der Spalte „Suchfeld“ in der Zeile „Code“ ein Häkchen. Wenn nun ein Datensatz mit einem solchen Code gefunden wird, wird dieser ersetzt, andernfalls wird er erstellt.

Wichtig! Wenn Sie kein Suchfeld angeben, werden möglicherweise doppelte Elemente angezeigt. Vor allem nach dem zweiten Download einer ähnlichen Datei!

Schauen wir uns nun an, warum „Unity“ auf dem Feld flucht. Tatsache ist, dass Maßeinheiten in 1C 8.3 in einem separaten Verzeichnis gespeichert werden und die Verarbeitung diese Einheit standardmäßig anhand ihres Namens sucht. Tatsächlich wird die Worteinheit jedoch in das Feld „Vollständiger Name“ geschrieben.

Leider kann die Verarbeitung nur nach „Name“ und „Code“ suchen (für den Programmierer sind die Möglichkeiten größer). Wenn Sie sich die Bilder oben ansehen, werden Sie sehen, dass ich in der Spalte „Einheit“ einen Code habe. Und bei der Verarbeitung müssen Sie angeben, dass die Suche per Code erfolgen soll. Doppelklicken Sie auf die Spalte „Kommunikationsbedingung“ gegenüber „Einheiten“ und ändern Sie sie in „Code“.

Sehen wir uns nun an, was sie uns über „Service“ in der Fehlerliste sagen. Noch ein wichtiger Hinweis. Die Spalten in der Datei müssen strikt in derselben Reihenfolge angeordnet sein wie die Zeilen der Verzeichnisfelder. Und bei uns steht „“ ganz unten und in der Datei nach der Spalte „Kommentar“.

Um die Zeile „Artikeltyp“ nach oben zu verschieben, befinden sich oben im Formular blaue Pfeile. Heben Sie mit dem „Auf“-Pfeil die gewünschte Zeile an und platzieren Sie sie unter „Kommentar“.

Klicken Sie auf „Daten laden“, und dieses Mal verläuft alles ohne Fehler:

Video-Tutorial zum Laden von Produkten aus Excel-Dateien in 1C:

Es gibt Situationen, in denen Daten beispielsweise in einer Excel-Datei vorhanden sind und diese in das Programm eingegeben werden müssen. Die manuelle Eingabe kann enorm viel Zeit in Anspruch nehmen und die Wahrscheinlichkeit von Fehlern ist hoch.

Für den Fall, dass Sie keine Möglichkeit haben, einen Spezialisten zur Lösung dieses Problems zu gewinnen, verwenden Sie die Standardverarbeitung für verwaltete Formulare von 1C. Sie können es entweder auf der ITS-Diskette oder über den Link herunterladen Laden von Daten aus TabularDocument.epf .

Das erste, was Sie tun müssen, ist zu öffnen diese Verarbeitung im Modus „1C:Enterprise“. Klicken Sie im Menü „Datei“ auf „Öffnen“ und wählen Sie im erscheinenden Fenster die Verarbeitung dort aus, wo Sie sie gespeichert haben. Sie können auch die Hotkey-Kombination „Strg+O“ verwenden.

Wenn sich die Verarbeitung nicht öffnet, liegt es höchstwahrscheinlich an Ihnen Konto Das Recht „Externe Meldungen und Bearbeitung öffnen“ gibt es nicht.

Nachdem Sie diese Verarbeitung erfolgreich geöffnet haben, müssen Sie zunächst angeben, wo die Daten geladen werden sollen. Im betrachteten Beispiel werden die Daten in geladen. Einfach ausgedrückt laden wir eine Preisliste im Excel-Format in 1C 8.3 hoch. Die Anweisungen zum Laden von Rechnungen sind sehr ähnlich.

Lasst uns kreieren neues Dokument„Artikelpreise festlegen“, oder Sie können einen vorhandenen verwenden. Darin geben wir nur zwei Felder „Datum“ und „Preistyp“ an. In unserem Fall ist der Typ „ Großhandelspreis" Der Tabellenteil muss nicht ausgefüllt werden. Es wird mithilfe der Datenladeverarbeitung gefüllt.

Wählen Sie im Verarbeitungsformular den entsprechenden Schalter aus, der in den tabellarischen Abschnitt geladen werden soll. Das zuvor erstellte Dokument „Artikelpreise festlegen“ wird in das Linkfeld eingefügt. Im Feld „Tabellarischer Abschnitt“ – „Produkte“.

Daten können nicht nur in die tabellarischen Teile von Dokumenten, Verzeichnissen usw. geladen werden, sondern auch in die Verzeichnisse und Informationsregister selbst.

Nachdem Sie einen Ort zum Laden der Daten ausgewählt haben, generierte die Verarbeitung selbst die erforderlichen Spaltenüberschriften im Tabellendokument, das sich unten befindet. Die in das Programm geladenen Daten können manuell angegeben werden oder durch Kopieren von einer externen Quelle in diesen tabellarischen Abschnitt.

IN in diesem Beispiel Wir werden die meisten berücksichtigen bequeme Weise Downloads - aus einer Excel-Datei. Klicken Sie auf die Schaltfläche „Öffnen“ und wählen Sie die Datendatei aus. Folgende Formate werden zum Öffnen unterstützt: *.mxl“, *.xls, *.txt, *.dbf. Alle Daten aus der Datei werden an gesendet Tabellenkalkulationsdokument wird bearbeitet.

Kontrolle und Überwachung der Abfüllung

In einem wunderbaren Sprichwort heißt es: „Zweimal messen, einmal schneiden“. Daher müssen Daten vor dem Laden von Daten aus einem Tabellenkalkulationsdokument in 1C überprüft werden. Klicken Sie dazu auf die Schaltfläche „Füllkontrolle“.

Wenn Fehler festgestellt werden, wird eine Meldung mit der Anzahl dieser Zeilen angezeigt. In den Zellen, in denen eine Abweichung festgestellt wurde, wird ein Hinweis mit der Begründung angezeigt.

In diesem Fall wurde der Nomenklatureintrag „Träger 40*40*300“ nicht im Programm gefunden. Bevor Sie Daten laden, müssen Sie diese erstellen oder den Artikel in 1S 8.3 aus einer ähnlichen Datei mit Waren vorab laden.

Laden Sie die Einstellungen herunter

Schauen wir uns den Reiter „Einstellungen“ genauer an. Diese Registerkarte enthält den tabellarischen Teil zum Einrichten der hochgeladenen Daten. Jede Zeile dieser Tabelle enthält die Einstellung des entsprechenden Attributs. Für die Konfiguration stehen folgende Optionen zur Verfügung:

  • "Etikett". Ein gesetztes Flag bedeutet, dass dieses Attribut überladen werden muss.
  • „Präsentation von Requisiten.“
  • „Beschreibung der Typen.“ Es kann einen oder mehrere Werttypen annehmen (zusammengesetzter Datentyp).
  • Den „Download-Modus“ gibt es in drei Varianten:
    • „Suchen“ – der Wert wird nur eingegeben, wenn er gefunden wurde.
    • „Berechnen“ – der Wert wird basierend auf dem angegebenen Ausdruck berechnet.
    • „Setzen“ – der Wert wird eindeutig angegeben.
  • "Standardwert." Wenn keine Daten gefunden werden, die das Attribut ersetzen könnten, wird der Wert aus dieser Einstellung festgelegt.
  • „Link-Bedingung/Wert-Ausdruck“ legt das Feld fest, das durchsucht werden soll. Bei Verzeichnissen hat die Suche nach Code eine höhere Priorität, da dieser oft eindeutig ist. Wenn der Code unbekannt ist, können Sie die Standardeinstellung belassen und nach Namen suchen. In diesem Fall sollten im Verzeichnis, in dem nach den Details gesucht wird, keine doppelten Zeilen vorhanden sein.

Nachdem Sie die Befüllung erfolgreich konfiguriert und geprüft und gesteuert haben, können Sie die Daten herunterladen. Klicken Sie auf den Hyperlink „Daten herunterladen“. In den Meldungen werden Informationen zu diesem Vorgang angezeigt. In unserem Fall hat alles gut geklappt.

Gehen wir zu dem Dokument, in das wir die Daten geladen haben. Wie Sie sehen, wurden alle Werte korrekt eingegeben.

Eine weitere Anleitung zum Laden in 1C aus Excel anhand des Nomenklaturbeispiels finden Sie im Video:

Diese Methode ist einfach. Sein Wesen ist das Objekt Tabellarisches Dokument hat Methoden:

  • Aufschreiben (< ИмяФайла>, < ТипФайлаТаблицы >) um Daten in eine Datei hochzuladen;
  • Lesen (< ИмяФайла>, < СпособЧтенияЗначений >), um Daten aus einer Datei zu laden.

Aufmerksamkeit!

Die Methode Write() ist sowohl auf dem Client als auch auf dem Server verfügbar. Die Read()-Methode ist nur serverseitig verfügbar. Das muss man sich merken
bei der Planung der Client-Server-Interaktion.

Sehen wir uns ein Beispiel für das Speichern eines Tabellendokuments in einer Datei an. Es ist notwendig, das TabularDocument-Objekt auf irgendeine Weise zu erstellen und zu füllen Entladung Das Einfügen in die Datei erfolgt mit nur einer Zeile:

TabDoc . Write(FilePath, TabularDocumentFileType. XLSX);

Hier TabDoc- generiertes Tabellendokument, Der Pfad zur Datei— Name der hochzuladenden Datei, TabularDocumentFileType.XLSX— Format der erstellten Datei. Folgende Excel-Formate werden unterstützt:

  • XLS95— Excel-Format 95;
  • XLS97 – Excel 97-Format;
  • XLSX ist ein Excel 2007-Format.

TabDoc = Neues tabellarisches Dokument;
TabDoc . Read(PathToFile, Methode zum LesenTabularDocumentValues.Value);

Hier Der Pfad zur Datei– Pfad zur heruntergeladenen Excel-Datei. Methode zum Lesen von Werten eines tabellarischen Dokuments.Wert bestimmt, wie aus einem Quelldokument gelesene Daten interpretiert werden sollen. Verfügbare Optionen:

  • Bedeutung;
  • Text.

Austausch über OLE

Der Austausch über die OLE-Automatisierungstechnologie ist möglicherweise die häufigste Option für die Softwarearbeit Excel-Dateien. Sie können damit alle von Excel bereitgestellten Funktionen nutzen, sind jedoch im Vergleich zu anderen Methoden langsamer. Für den Austausch über OLE ist die Installation von MS Excel erforderlich:

  • Auf dem Computer des Endbenutzers, wenn der Austausch auf der Clientseite erfolgt;
  • Auf dem 1C:Enterprise-Servercomputer, wenn der Austausch serverseitig erfolgt.

Beispiel Entladung:

// Ein COM-Objekt erstellen
Excel = New COMObject("Excel.Application");
// Warnungen und Fragen deaktivieren
Excel . DisplayAlerts = False;
// Ein neues Buch erstellen
Buch = Excel. Arbeitsbücher. Hinzufügen();
// Auf dem ersten Blatt positionieren
Blatt = Buch. Arbeitsblätter(1);

// Einen Wert in eine Zelle schreiben
Blatt . Zellen(RowNumber, ColumnNumber). Wert = Zellwert;

// Speicher die Datei
Buch . Speichern unter(Dateiname);


Excel . Aufhören();
Excel = 0;

Beispiele Lektüre:

// -- VARIANTE 1 --

// Ein COM-Objekt erstellen
Excel = New COMObject("Excel.Application");
// Öffne ein Buch
Buch = Excel. Arbeitsbücher. Offen( Der Pfad zur Datei );

Blatt = Buch. Arbeitsblätter(1);

// Das Buch zuschlagen
Buch . Schließen(0);

// Excel schließen und Speicher freigeben
Excel . Aufhören();
Excel = 0;

// -- OPTION 2 --

// Öffne ein Buch
Buch = GetCOMObject( Der Pfad zur Datei );
// Positionierung auf dem gewünschten Blatt
Blatt = Buch. Arbeitsblätter(1);

// Den Zellwert lesen, normalerweise befindet sich hier die Zelldurchlaufschleife
CellValue = Blatt. Zellen(RowNumber, ColumnNumber). Wert;

// Das Buch zuschlagen
Buch . Anwendung. Qui T();

Für Bypass alle abgeschlossenen Zeilen Excel-Tabelle Folgende Methoden können verwendet werden:

// -- VARIANTE 1 --
Anzahl der Zeilen = Blatt. Zellen(1, 1). Spezialzellen(11). Reihe;
Für RowNumber = 1 By Number Of Rows Cycle
CellValue = Blatt. Zellen(RowNumber, ColumnNumber). Wert;
EndCycle;

// -- OPTION 2 --
Zeilennummer = 0 ;
Während der Wahrheitszyklus
Zeilennummer = Zeilennummer + 1 ;
CellValue = Blatt. Zellen(RowNumber, ColumnNumber). Wert;
Wenn NICHT ValueFilled(CellValue) Dann
Abbrechen;
endIf;
EndCycle;

Anstatt alle Zeilen des Blatts nacheinander zu durchlaufen, können Sie dies auch tun Alle Daten in ein Array übertragen und mit ihm arbeiten. Dieser Ansatz ist schneller, wenn eine große Datenmenge gelesen wird:

TotalColumns = Blatt. Zellen(1, 1). Spezialzellen(11). Spalte;
TotalRows = Blatt. Zellen(1, 1). Spezialzellen(11). Reihe;

Region = Blatt. Range(Sheet. Cells(1, 1), Sheet. Cells(TotalRows,TotalColumns));
Daten = Region. Wert. Entladen();

Die folgende Tabelle zeigt die gängigsten Eigenschaften und Methoden für die Arbeit mit Excel über OLE:

Aktion Code Ein Kommentar
Arbeiten mit der Anwendung
Sichtbarkeit des Anwendungsfensters festlegen Excel . Sichtbar= Falsch;
Einstellen des Warnungsausgabemodus (Anzeige/keine Anzeige) Excel . DisplayAlerts= Falsch;
Schließen des Antrags Excel . Aufhören();
Arbeiten mit einem Buch
Ein neues Buch erstellen Buch = Excel. Arbeitsbücher. Hinzufügen();
Öffnen einer vorhandenen Arbeitsmappe Buch = Excel. Arbeitsbücher. Öffnen(Dateiname);
Ein Buch retten Buch . Speichern unter (Dateiname);
Das Buch schließen Buch . Schließen(0);
Arbeiten mit einem Blatt
Einstellen des aktuellen Blattes Blatt = Buch. WorkSheets(SheetNumber);
Namen festlegen Blatt . Name = Name;
Schutz einrichten Blatt . Schützen();
Schutz entfernen Blatt . Schutz aufheben();
Festlegen der Seitenausrichtung Blatt . Seiteneinrichtung. Ausrichtung = 2; 1 – Porträt, 2 – Querformat
Den linken Rand festlegen Blatt . Seiteneinrichtung. LeftMargin = Excel. CentimetersToPoints(Zentimeter);
Obergrenze festlegen Blatt . Seiteneinrichtung. TopMargin = Excel. CentimetersToPoints(Zentimeter);
Den richtigen Rand setzen Blatt . Seiteneinrichtung. RightMargin = Excel. CentimetersToPoints(Zentimeter);
Untere Grenze einstellen Blatt . Seiteneinrichtung. BottomMargin = Excel. CentimetersToPoints(Zentimeter);
Arbeiten mit Zeilen, Spalten, Zellen
Spaltenbreite festlegen Blatt . Spalten(ColumnNumber). ColumnWidth = Breite;
Eine Zeile löschen Blatt . Zeilen(RowNumber). Löschen();
Eine Spalte entfernen Blatt . Spalten(ColumnNumber). Löschen();
Eine Zelle löschen Blatt . Zellen(RowNumber, ColumnNumber). Löschen();
Wert einstellen Blatt . Zellen(RowNumber, ColumnNumber). Wert = Wert;
Zellen zusammenführen Blatt . Bereich(Blatt. Zellen(RowNumber, ColumnNumber), Blatt. Zellen(RowNumber1, ColumnNumber1)). Verschmelzen();
Schriftart einstellen Blatt . Zellen(RowNumber, ColumnNumber). Schriftart. Name = Schriftartname;
Festlegen der Schriftgröße Blatt . Zellen(RowNumber, ColumnNumber). Schriftart. Größe = Schriftgröße;
Fettschrift einstellen Blatt . Zellen(RowNumber, ColumnNumber). Schriftart. Deutlich = 1 ; 1 – fett, 0 – normal
Kursivschrift setzen Blatt . Zellen(RowNumber, ColumnNumber). Schriftart. Kursiv = 1 ; 1 – kursiv, 0 – normal
Festlegen der unterstrichenen Schriftart Blatt . Zellen(RowNumber, ColumnNumber). Schriftart. Unterstreichen = 2 ; 2 – unterstrichen, 1 – nicht

Um herauszufinden, welche Eigenschaft geändert werden muss oder welche Methode aufgerufen werden muss, können Sie Folgendes verwenden Makros Excel. Wenn Sie ein Makro mit den erforderlichen Aktionen aufzeichnen, können Sie sich anschließend den VBA-Code des aufgezeichneten Makros ansehen.

Verwenden von COMSafeArray

Beim Herunterladen großer Datenmengen von 1C nach Excel können Sie das Objekt zur Beschleunigung verwenden COMSafeArray. Gemäß der Definition des Syntaxassistenten ist COMSafeArray ein Objekt-Wrapper über ein mehrdimensionales Array SafeArray von COM. Ermöglicht Ihnen, SafeArray für den Datenaustausch zwischen COM-Objekten zu erstellen und zu verwenden. Einfach ausgedrückt handelt es sich um eine Reihe von Werten, die zum Austausch zwischen Anwendungen mithilfe der OLE-Technologie verwendet werden können.

// COMSafeArray erstellen
ArrayCom = New COMSafeArray("VT_Variant" , TotalColumns, TotalRows);
// COMSafeArray füllen
Für Seite = 0 nach TotalLines – 1 Zyklus
Für Anzahl = 0 Spalten insgesamt – 1 Zyklus
ArrayCom . SetValue(Anzahl, Seite, Wert);
EndCycle;
EndCycle;
// Zuweisung zum Blattbereich Excel-Werte von COMSafeArray
Blatt . Bereich(Blatt. Zellen(1, 1), Blatt. Zellen(TotalRows,TotalColumns)). Wert = ArrayCom;

Austausch über ADO

Eine Excel-Datei ist beim Austausch über ADO eine Datenbank, auf die über SQL-Abfragen zugegriffen werden kann. Die Installation von MS Excel ist nicht erforderlich, Sie benötigen jedoch einen ODBC-Treiber, mit dem der Zugriff bereitgestellt wird. Der verwendete ODBC-Treiber wird durch Angabe der Verbindungszeichenfolge zur Datei bestimmt. Normalerweise ist der erforderliche Treiber bereits auf dem Computer installiert.

Der Austausch über ADO ist deutlich schneller als der Austausch über OLE, beim Hochladen ist es jedoch nicht möglich, die Excel-Funktionalität zum Entwerfen von Zellen, zum Layouten von Seiten, zum Festlegen von Formeln usw. zu nutzen.

Beispiel Entladung:


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


Verbindung . ConnectionString = "

|Datenquelle=" + Dateiname + ";
;
Verbindung . Offen(); // Eine Verbindung öffnen

// Erstelle ein COM-Objekt für den Befehl
Command = New COMObject("ADODB.Command");
Team

// Befehlstext zuweisen, um eine Tabelle zu erstellen
Team . CommandText = „CREATE TABLE [Sheet1] (Column1 char(255), Column2 date, Column3 int, Column4 float)“;
Team . Ausführen(); // Den Befehl ausführen

// Befehlstext zum Hinzufügen einer Tabellenzeile zuweisen
Team . CommandText = „INSERT INTO [Sheet1] (Spalte1, Spalte2, Spalte3, Spalte4) Werte (‘abvwhere‘, ‚8/11/2017‘, ‚12345‘, ‚12345,6789‘)“;
Command.Execute(); // Den Befehl ausführen

// Den Befehl entfernen und die Verbindung schließen
Befehl = Undefiniert;
Verbindung . Schließen();
Verbindung = Undefiniert;

Um ein neues Blatt zu erstellen und seine Struktur zu gestalten, können Sie Objekte verwenden ADOX.Katalog Und ADOX.Tabelle. In diesem Fall sieht der Code so aus:

// Erstelle ein COM-Objekt für die Arbeit mit dem Buch
Buch = Neues COMObject("ADOX.Catalog");
Buch . ActiveConnection = Verbindung;

// Ein COM-Objekt erstellen, um mit der Datenstruktur auf dem Blatt zu arbeiten
Table = New COMObject("ADOX.Table");
Tisch . Name = "Blatt1" ;
Tisch . Säulen. Append("Spalte1", 202);
Tisch . Säulen. Append("Spalte2", 7);
Tisch . Säulen. Append("Spalte3", 5);
Tisch . Säulen. Append("Spalte4", 5);

// Erstellen Sie ein Blatt mit der beschriebenen Struktur in der Arbeitsmappe
Buch . Tische. Anhängen(Tabelle);
Tabelle = Undefiniert;
Buch = Undefiniert;

Im obigen Beispiel in der Methode

Tisch . Säulen. Anhängen(„Spalte1“, 202);

Der zweite Parameter gibt den Spaltentyp an. Der Parameter ist optional. Hier sind einige Spaltentypwerte:

  • 5 - adDouble;
  • 6 – adCurrency;
  • 7 - adDate;
  • 11 - adBoolean;
  • 202 – adVarWChar;
  • 203 – adLongVarWChar.

Beispiel Lektüre:

// Erstelle ein COM-Objekt für die Verbindung
Connection = New COMObject("ADODB.Connection");

// Verbindungszeichenfolge festlegen
Verbindung . ConnectionString = "
|Provider=Microsoft.ACE.OLEDB.12.0;
|Datenquelle=" + Dateiname + ";
|Extended Properties=""Excel 12.0 XML;HDR=YES"";";
Verbindung . Offen(); // Eine Verbindung öffnen

// Ein COM-Objekt erstellen, um die Auswahl zu empfangen
Select = New COMObject("ADODB.Recordset");
RequestText = „SELECT * FROM [Sheet1$]“;

// Anfrage ausführen
Probe . Open(QueryText, Connection);

// Das Beispielergebnis umgehen
Noch keine Auswahl. EOF()-Schleife
Wert von Spalte1 = Auswahl. Felder. Element("Spalte1"). Wert ; // Zugriff nach Spaltenname
Column2Value = Auswahl. Felder. Artikel(0). Wert; // Zugriff nach Spaltenindex
Probe . MoveNext();
EndCycle;

Probe . Schließen();
Probe = Undefiniert;
Verbindung . Schließen();
Verbindung = Undefiniert;

In der Verbindungszeichenfolge der Parameter HDR bestimmt, wie die erste Zeile auf dem Blatt wahrgenommen wird. Möglichkeiten:

  • JA – die erste Zeile wird als Spaltenname behandelt. Auf Werte kann über Name und Spaltenindex zugegriffen werden.
  • NEIN – die erste Zeile wird als Daten behandelt. Auf Werte kann nur über den Spaltenindex zugegriffen werden.

Diese Beispiele decken nur einige ADO-Objekte ab. Das ADO-Objektmodell besteht aus den folgenden Objekten:

  • Verbindung;
  • Befehl;
  • Datensatz;
  • Aufzeichnen;
  • Felder;
  • Strom;
  • Fehler;
  • Parameter;
  • Eigenschaften.

Hochladen ohne Programmieren

Um Daten von 1C in Excel zu speichern, ist es nicht immer ratsam, auf Programmierung zurückzugreifen. Wenn der Benutzer im Enterprise-Modus die zum Herunterladen erforderlichen Daten anzeigen kann, können diese ohne Programmierung in Excel gespeichert werden.

Um ein Tabellendokument (z. B. das Ergebnis eines Berichts) zu speichern, können Sie den Befehl aufrufen Speichern oder Speichern als… Hauptmenü.

Im sich öffnenden Fenster müssen Sie das Verzeichnis, den Namen und das Format der gespeicherten Datei auswählen.

Um Daten zu speichern dynamische Listen(zum Beispiel eine Liste von Artikeln) müssen Sie:

  1. Geben Sie Daten mit dem Befehl in ein Tabellenkalkulationsdokument aus Mehr ⇒ Liste...;
  2. Speichern Sie das Tabellendokument im erforderlichen Format.

gastroguru 2017