Funcțiile 1C. De la Excel la 1C. Obținerea unei liste de foi (nume de foi) dintr-un fișier Excel
Importați date din Excel în 1C. Obținerea unei liste de foi (nume de foi) din Excel (xls, xlsx)
Toate cele mai recente versiuni ale 1C: Întreprinderile au capacitatea de a deschide și de a folosi com-obiecte din limbajul de programare integrat 1C. Sistemul de operare Windows și programele instalate în acesta oferă un set bogat de astfel de obiecte, inclusiv interfețe pentru accesarea diferitelor baze de date utilizând ADO (ActiveX Data Objects)
Folosind obiectele ADO și interfețele lor, este ușor să descarci datele de la Excel la 1C. În acest articol, vom arăta o funcție pentru 1C care citește numele tuturor foilor din registrul de lucru Excel în 1C.
De ce am nevoie de o funcție pentru a citi o listă de foi de la Excel la 1C. Ideea este că, atunci când se lucrează cu 1C nevoie constantă a datelor furnizate în fișiere Excel format, unele rapoarte, liste de prețuri, etc., dar 1C: Enterprise nu include built-in functii pentru Excel de import de date.
Exportarea datelor, încărcarea în Excel utilizând funcțiile încorporate este posibilă - în acest scop, se utilizează metodele obiectului Document de masă. Scrieți (). care vă permite să scrieți conținutul documentului în formatul unui registru de lucru Microsoft Excel. Dar aici importul invers, cu excepția copierii manuale a coloanelor și liniilor printr-un clipboard - nu este furnizat.
Această funcție, considerată în acest articol, funcția citirii listei de coli din registrul de lucru Excel din 1C este "pregătitoare" pentru următoarea funcție universală de import de date de la Excel la 1C. Această funcție de import va fi descrisă pe site-ul nostru rapid-soft.ru în următorul articol.
Nu am găsit pe Internet un exemplu "clar" și universal al funcției de importare a datelor din fișiere Excel. Au fost disponibile câteva exemple, dar au fost legate de structura unui anumit fișier xls, cu denumirile cunoscute ale foilor, și au cerut, de asemenea, o copie instalată a Microsoft Excel.
Pentru exemple ale activității sale sunt com-obiect folosit „Excel.Application“, care, în multe cazuri, este pur și simplu incomod, deoarece inițializarea obiectului necesită o mulțime de resurse de calculator, și nu este întotdeauna posibil să se cumpere și să instalați pachetul Microsoft Office (care include Excel) pe fiecare mașină, acolo unde este necesar.
Vom merge în altă direcție. Pentru a obține datele de fișiere Excel (folosind ADO și drivere OLE DB) nu au neapărat computerul instalat Microsoft Excel, deoarece unul dintre șoferii OLE DB vă permite să interpreteze fișierul Excel (adică, un registru de lucru Excel (Workbook) - ca o bază de date eșantion și pentru a efectua diverse operațiuni cu el.Tabelele dintr-o astfel de "bază de date" sunt foi de lucru. În acest fel, ca și în orice altă bază de date (DB), pe lângă manipularea datelor în sine, este posibilă obținerea unor informații despre structura bazei de date în sine. Informațiile despre structura obiectelor bazei de date și despre relațiile dintre acestea sunt deseori numite "schema bazei de date"
Folosind funcțiile de obținere a unei scheme de bază de date din obiectul "ADODB.Connection", putem obține o listă, o listă de foi (în ceea ce privește tabelele bazei de date) dintr-un fișier Excel.
Mai jos voi prezenta codul functie are ca intrare numele complet al fișierului Excel care conține calea și numele fișierului cu extensia de fișier (* .xls, * .xlsx) și returnează un 1C obiect matrice, care, ca membri cuprinde un șir de nume de foaie sursă. Dacă lista fișierelor din fișier nu a putut fi citită, funcția returnează valoarea "Undefined"
Important: Driverul cu care avem capacitatea de a lucra prin OLE DB cu fișiere Excel trebuie să fie instalat pe computer. Dacă funcția nu funcționează, descărcați și instalați pachetul care conține toate componentele necesare (MDAC și drivere OLE DB suplimentare) din această pagină de pe site-ul Microsoft
Din cadrul funcției FileExcel_Get ListList (), se numește funcția FormatString (). Textul său poate fi vizualizat pe site-ul nostru - FormatString ()
Sincer, Degtyarev Roman.
Cum de a învăța să programați în 1C de la zero?
Cum să lucrați ca programator 1C și să obțineți până la 150.000 de ruble pe lună?
ÎNREGISTRARE GRATUITĂ
"PROGRAMAREA IN 1C PENTRU NEWBIES"
Cursul va veni prin e-mail. Deveniți un programator prin efectuarea de sarcini pas cu pas.
Numai computerul și internetul sunt necesare pentru participare
Intrare gratuită la curs: