Trükkök Táblázási dokumentum mentése Excel-ben, hogy további munkát végezzen vele. Trükkök, hogy megmentse az asztali dokumentumot az Excelben, hogy további munkát végezzen vele 1c Mentse a táblázatos dokumentumot Excel-ben

Ez a módszer egyszerű. Lényege, hogy az objektum Fűrészáru Módszerei:

  • Rekord (< ИмяФайла>, < ТипФайлаТаблицы \u003e) az adatok kirakodásához a fájlba;
  • Olvas (< ИмяФайла>, < СпособЧтенияЗначений \u003e) Az adatok letöltéséhez a fájlból.

Figyelem!

A rekord módszer () mind az ügyfélen, mind a kiszolgálón elérhető. Az olvasási módszer () csak a kiszolgáló oldalon érhető el. Emlékeznie kell erre
Az ügyfél-kiszolgáló interakció tervezése során.

Tekintsünk egy példát a táblázatos dokumentum mentésére egy fájlba. Szükséges az objektumdokumentum dokumentum létrehozása és kitöltése bármilyen módon, és kirakodás A fájl csak egy sort végez:

Tabdow . Írás (cellulóz, írófa. Xlsx);

Itt Tabdow - formált táblázatos dokumentum, A fájl elérési útja - a kirakodásra vonatkozó fájl neve, Typadail tömeges kutya .xlsx - A létrehozott fájl formátuma. A következő Excel formátumok támogatottak:

  • XLS95 - Excel 95 formátum;
  • XLS97 - Excel 97 formátum;
  • XLSX - Excel 2007 formátum.

Tabo \u003d új fűrészáru;
Tabdow . Olvasni (pull-fájl, promóció.);

Itt A fájl elérési útja - A letölthető Excel fájl elérési útja. Az elismerés előmozdítása Meghatározza, hogyan kell értelmezni a forrásdokumentumból olvasott adatokat. Opciók állnak rendelkezésre:

  • Érték;
  • Szöveg.

Csere az OLE-n keresztül.

Az OLE automatizálási technológián keresztül történő csere talán a szoftverek leggyakoribb verziója Excel fájlokkal. Ez lehetővé teszi, hogy az Excel által nyújtott teljes funkcionalitást használja, de a többi módszerhez képest lassú munka jellemzi. Az MS Excel telepítése az OLE-en keresztül kell cserélnie:

  • A végfelhasználói számítógépen, ha az átváltás az ügyfél oldalán történik;
  • Az 1C számítógépes kiszolgálón: Enterprise, ha a csere a szerver oldalán történik.

Példa kirakodás:

// COM objektum létrehozása
Excel \u003d New Comback ("Excel.Application");
// A figyelmeztetések és kérdések kibocsátásának letiltása
Kitűnő . Displaalelerts \u003d hamis;
// új könyv létrehozása
Könyv \u003d Excel. Munkafüzetek. Add ();
// Helymeghatározás az első lapon
Lap \u003d Könyv. Munkalapok (1);

// felvételi értékek a cellában
Lap . Sejtek (szerelvények, tekercsek). Érték \u003d iphello;

// A fájl mentése
Könyv . Saveas (névfájl);


Kitűnő . Kilépés ();
Excel \u003d 0;

Példák olvasás:

// -- 1.OPCIÓ --

// COM objektum létrehozása
Excel \u003d New Comback ("Excel.Application");
// megnyitó könyv
Könyv \u003d Excel. Munkafüzetek. Nyisd ki ( A fájl elérési útja);

Lap \u003d Könyv. Munkalapok (1);

// a könyv bezárása
Könyv . Zárja be (0);

// bezárása Excel és a memória kiadása
Kitűnő . Kilépés ();
Excel \u003d 0;

// - 2. lehetőség -

// megnyitó könyv
Könyv \u003d Reter objektum ( A fájl elérési útja);
// Helymeghatározás a kívánt lapon
Lap \u003d Könyv. Munkalapok (1);

// Olvassa el a sejtértéket, általában itt van a sejtáramkör
Teljesítmény \u003d lap. Sejtek (szerelvények, tekercsek). Érték;

// a könyv bezárása
Könyv . Alkalmazás. Quit ();

-Ért kitérő A levél Excel összes befejezett vonala a következő technikákat használhatja:

// -- 1.OPCIÓ --
Mennyiség \u003d lap. Sejtek (1, 1). SpecialCells (11). SOR;
Az A2Rows \u003d 1 ciklus számával
Teljesítmény \u003d lap. Sejtek (szerelvények, tekercsek). Érték.;
Endcycle;

// - 2. lehetőség -
Tinker \u003d 0;
Míg az igazság ciklus
Tinetings \u003d + 1 szám;
Teljesítmény \u003d lap. Sejtek (szerelvények, tekercsek). Érték;
Ha nem denominált (elemek)) Azután
Megszakítás;
Vége lett;
Endcycle;

Ahelyett, hogy az összes vonal egymás utáni megkerülése lenne, akkor távolítsa el az összes adatot egy tömbbe És dolgozzon vele. Ez a megközelítés gyorsabb lesz, ha nagy mennyiségű adatot olvas:

Allokém \u003d levél. Sejtek (1, 1). SpecialCells (11). Oszlop;
Vgogostrok \u003d Levél. Sejtek (1, 1). SpecialCells (11). SOR;

Vidék \u003d Levél. Tartomány (lap. Cellák (1, 1), lap. Cellák (kihívás, allokém));
Adat \u003d Terület. Érték. Kirak();

Az alábbi táblázat mutatja a legnépszerűbb tulajdonságokat és módszereket az OLE-en keresztül történő működéshez:

törvény A kód Megjegyzés
Dolgozzon az alkalmazással
Alkalmazás alkalmazás ablakának telepítése Kitűnő . Látható \u003d Hamis;
A figyelmeztetések kimeneti módjának beállítása (kimenet / nem kimenet) Kitűnő . Kijelentkezés. \u003d Hamis;
Az alkalmazás bezárása Kitűnő . Kilépés ();
Egy könyvben dolgozik
Új könyv létrehozása Könyv \u003d Excel. Munkafüzetek. Add.();
Meglévő könyv megnyitása Könyv \u003d Excel. Munkafüzetek. Nyitott (névfájl);
Egy könyv megőrzése Könyv . Saveas (névfájl);
Egy könyv bezárása Könyv . Zárja be (0);
Munka a lapon
Az aktuális lap felszerelése Lap \u003d Könyv. Munkalapok (szám);
Név telepítése Lap . NAME \u003d NAME;
A védelem telepítése Lap . Védelem.();
A védelem eltávolítása Lap . Védelem nélkül.();
Az oldal tájolásának beállítása Lap . Oldal beállítása. Orientation \u003d 2.; 1 - könyv, 2 - táj
A bal oldali határ Lap . Oldal beállítása. Leftmargin \u003d Excel. Centimeterstopoints (Santimeters));
A felső határ telepítése Lap . Oldal beállítása. Topmargin \u003d Excel. Centimeterstopoints (Santimeters));
A helyes határ meghatározása Lap . Oldal beállítása. RightMargin \u003d Excel. Centimeterstopoints (Santimeters));
Az alsó határ telepítése Lap . Oldal beállítása. Bottommargin \u003d Excel. Centimeterstopoints (Santimeters));
Munka sorokkal, hangszórókkal, sejtekkel
Az oszlop szélességének beállítása Lap . Oszlopok. Columedwidth \u003d Szélesség;
Sztring törlése Lap . Sorok (készlet). Töröl.();
A hangszóró törlése Lap . Oszlopok. Törlés ();
Sejteltávolítás Lap . Sejtek (szerelvények, tekercsek). Töröl.();
Értékérték Lap . Sejtek (szerelvények, tekercsek). Érték \u003d érték;
A sejtek kombinációja Lap . Tartomány (lap. Cellák (tekercsek, tekercsek), lap. Cellák (Rodka1, Rolls1)). Összeolvad.();
Font telepítés Lap . Sejtek (szerelvények, tekercsek). Betűtípus. NAME \u003d NAMESHIFT;
Betűméret telepítése Lap . Sejtek (szerelvények, tekercsek). Betűtípus. Méret \u003d dimenziós;
Bold betűtípus telepítése Lap . Sejtek (szerelvények, tekercsek). Betűtípus. Bátor. = 1 ; 1 - FAT betűtípus, 0 - Normál
A Cursiva telepítése Lap . Sejtek (szerelvények, tekercsek). Betűtípus. Dőlt = 1 ; 1 - dőlt betű, 0 - normális
Az aláhúzott betűtípus telepítése Lap . Sejtek (szerelvények, tekercsek). Betűtípus. Aláhúzás = 2 ; 2 - aláhúzott, 1 - nem

Annak érdekében, hogy megtudja, milyen tulajdonságot kell megváltoztatni, vagy milyen módszert lehet hívni makrók Excel. Ha makrót rögzít a szükséges műveletekkel, akkor miután megtekintheti a VBA rögzített makró szoftverkódját.

Comsafearray használatával.

Ha nagy mennyiségű adatot kell kiraknunk 1c-től az Excel-ben, akkor az objektumot használhatja Comsafearray.. Az asszisztens szintaxis definíciója szerint a Comsafearray - objektumhéj többdimenziós tömb felett Safearray. Com. Lehetővé teszi a Safearray létrehozását és használatát a COM objektumok közötti adatok cseréjéhez. Egyszerűen tegye, ez egy sor érték, amelyet az OLE technológiai alkalmazások közötti cserére lehet használni.

// Comsafearray létrehozása.
Massive \u003d New Comsafearray ("vt_variant", allokém, bajnokság);
// Comsafearray kitöltése.
-Ért Oldal \u003d 0 az Ogoskost - 1 cikluson keresztül
-Ért COUNT \u003d 0 az Allocolon - 1 ciklus
Tömeges . SetValue (szám, p);
Endcycle;
Endcycle;
// A Comsafearray értékek Excel lapterületének hozzárendelése
Lap . Tartomány (lap. Cellák (1, 1), lap. Cellák (kihívás, vgathonok)). Érték \u003d masszív;

Csere az ADO-n keresztül.

Az Excel fájl az ADO-val történő cseréje során olyan adatbázis, amelyhez kapcsolódhat az SQL lekérdezésekkel. Az MS Excel telepítése nem szükséges, de szükségszerűen az ODBC illesztőprogram, amelyhez hozzáférés áll rendelkezésre. A használt ODBC-illesztőprogramot a csatlakozási karakterláncot a fájlhoz való meghatározásakor definiáljuk. A rendszerint szükséges illesztőprogram már telepítve van a számítógépen.

Cserélje át az ADO-t észrevehetően gyorsabb csere az OLE-en keresztül, de ha kirakod, akkor nem lehet excel funkcionalitást használni a sejtek tervezéséhez, az oldalak, a képletek feladatait stb.

Példa kirakodás:


Csatlakozás \u003d Új kombolás ("adodb.connection");


Összetett . ConnectionString \u003d "

| Adatforrás \u003d » + Fájl + ";
;
Összetett . Nyisd ki (); // nyitó vegyület

// létrehozása Com-objektum a csapat számára
Csapat \u003d új komback ("adodb.command");
Csapat

// szöveges szöveg hozzárendelése táblázat létrehozásához
Csapat . CommandText \u003d. "Táblázat létrehozása [List1] (oszlop1 Char (255), oszlop2 dátum, oszlop3 int, oszlop4 lebegés)";
Csapat . Végrehajtja (); // parancs végrehajtása

// szöveges hozzárendelési parancs, hogy hozzáadjon egy táblázatot
Csapat . CommandText \u003d. "Helyezzen be [LED1] (oszlop1, oszlop2, oszlop, oszlop, oszlop3, oszlop4, oszlop4) értékek (" abvgdeyo ", '8/11/2017', '12345', '12345,6789');
Team.Execute (); // parancs végrehajtása

// törölje a parancsot és zárja le a kapcsolatot
Csapat \u003d meghatározatlan;
Összetett . Bezárás();
Összetett \u003d bizonytalan;

Új lap létrehozásához és szerkezetének kialakításához objektumokat használhat Adox.catalog és Adox.table. Ebben az esetben a kód:

// COM objektum létrehozása egy könyvvel való együttműködéshez
Könyv \u003d Új összegyűjtés ("adox.catalog");
Könyv . Activeconnection \u003d kapcsolat;

// COM objektum létrehozása a lapon lévő adatstruktúrával való együttműködéshez
Táblázat \u003d Új COM objektum ("adox.table");
asztal . NAME \u003d "LIST1";
asztal . Oszlopok. ("Oszlop", 202);
asztal . Oszlopok. Hozzáfűzése ("oszlop", 7);
asztal . Oszlopok. ("Oszlop", 5);
asztal . Oszlopok. Hozzáfűzése ("oszlop4", 5);

// Hozzon létre egy lapot a könyvben a leírt struktúrával
Könyv . Táblázatok. Függelék (táblázat);
Táblázat \u003d Nincs meghatározva;
Könyv \u003d meghatározatlan;

A módszerben megadott példában

asztal . Oszlopok. Mellékel.("Oszlop1", 202);

a második paraméter az oszlop típusát jelzi. Az opció opcionális, itt található az oszlop típusának néhány értéke:

  • 5 - addouple;
  • 6 - Adcurrencia;
  • 7 - addate;
  • 11 - adboolean;
  • 202 - Advarwar;
  • 203 - Adlongvarwchar.

Példa olvasás:

// COM objektum létrehozása a csatlakozáshoz
Csatlakozás \u003d Új kombolás ("adodb.connection");

// Állítsa be a csatlakozási karakterláncot
Összetett . ConnectionString \u003d "
| Provider \u003d Microsoft.ace.oledb.12.0;
| Adatforrás \u003d » + Fájl + ";
| Bővített tulajdonságok \u003d »» Excel 12.0 xml; HDR \u003d igen »»;;
Összetett . Nyisd ki (); // nyitó vegyület

// COM objektum létrehozása a mintavételhez
Mintavétel \u003d új kombináció ("adodb.recordset");
Szövegkérés \u003d. "Válassza a * lehetőséget a [SHEET1 $] -ból";

// kérés végrehajtása
Minta . Nyitott (szöveges képernyő, kapcsolat);

// bypass mintavétel
Még nem minta. EoF () ciklus
Vaccinecoloneque1 \u003d minta. Mezők. Elem ("oszlop1"). Érték. ; // Fellebbezés az oszlop nevével
Vaccinecoloneque2 \u003d minta. Mezők. Elem (0). Érték; // Az oszlop indexe
Minta . Movenenext ();
Endcycle;

Minta . Bezárás ();
Mintavétel \u003d nincs meghatározva;
Összetett . Bezárás ();
Vegyület \u003d meghatározatlan;

A csatlakozási karakterláncban a paraméter Hdr Meghatározza, hogy az első sor a lapon érhető el. Opciók lehetségesek:

  • Igen - Az első sor az oszlopok nevének tekinthető. A névjegyekkel és az oszlop indexével kapcsolatba léphet az értékekkel.
  • Nem - az első sor adatként érzékelhető. Csak az oszlopindexhez fordulhat.

A példákban csak néhány ado objektumot veszünk figyelembe. Az ADO objektummodell az alábbi objektumokból áll:

  • Kapcsolat;
  • Parancs;
  • Felvétel;
  • Rekord;
  • Mezők;
  • Folyam;
  • Hibák;
  • Paraméterek;
  • Tulajdonságok.

Kirakodás programozás nélkül

Az adatok mentése az 1c-ről Excel-ben, nem mindig ajánlatos programozni. Ha a vállalati módban a felhasználó megjelenítheti a kirakodáshoz szükséges adatokat, akkor programozás nélkül lehet menteni az Excel-be.

Táblázási dokumentum mentéséhez (például egy jelentés eredmény) parancsot hívhat Mentés vagy Mentés másként… Főmenü.

A megnyíló ablakban ki kell választania a könyvtárat, a tárolt fájl nevét és formátumát.

A dinamikus listák mentéséhez (például a nómenklatúra listája) szükséges:

  1. Adatok megjelenítése táblázatos dokumentumhoz a parancs segítségével Még ⇒ lista ...;
  2. Mentse a táblázatos dokumentumot a kívánt formátumhoz.

A táblázatban bemutatott adatokkal kapcsolatos további munkákhoz bármely verzió 1c rendszeréből származó adatokkal az XLS (X) formátumban menthető.

Minden jó lenne, de amikor az Excel-E-ben nyílik meg, a felhasználó azonnal megérti, hogy valami baj van az asztalnál, igen, igen, nincsenek címkék a könyv könyvében. %)

Tehát az 1C 7. verziójában volt, és a 8. helyen csavart, igen, van előrehaladás, a 8-kE-ben formátumban menthet xLSX, a legújabb Excel verziók natív formátuma.

A probléma megoldása érdekében számos egyszerű manipulációk, az első dolog, ami az elme minden felhasználó kiszáradni az asztal másik formátumra, de nincs szükség van, eredmény, akkor elkezdhetsz copy-paste egy új könyv Excel.
Van egy másik lehetőség, mintha a fejlett felhasználók számára - a beállításokba kerül Excel-i és továbbá csekk jelölést helyeznek meg a "lapok címkéinek" címkéjét. Helyes, de rutin is, az 1C-ből kapott adatok gyakori feldolgozása lapos táblák és további adatelemzés formájában összefoglaló táblázatok és egyéb módok formájában az Excel-ben.

Önmagában ez is ugyanabban az időben, hogy szaladgálni a kullancsok és úgy döntött, egy probléma, beletúrt a kiterjedésű az Internet, például, és vizsgáljunk meg néhány további fejlesztések, kiderült, végre kell hajtani egyszerű (valaki azt Baján , Valaki a CRUTZOWN, azonban az ízek nem vitatják) az automatizálási mechanizmus, amely megoldja a problémát a lapcímkék megjelenítésével.

Mindössze annyit kell használni, hogy az Excel ablak két tulajdonságait használja:

DisplayWorkBookTabs // A könyv Tabratio könyvjelzőinek megjelenítésének jele // A With With Bookmarkok szélességének aránya az ablakgörgetés vízszintes csíkjának szélességéhez (0 (nulla) és 1, az alapértelmezett érték 0,6)

Tabdocumen.ship-up (teljes fájl, tipadail ömlesztett kutya.xls); Excel \u003d New Comback ("Excel.Application"); Excel.workbooks.s.Open (teljes); Excel.visible \u003d 0; Excel.activewendow.displayworkbookTabs \u003d 1; Excel.activewindow.tabratio \u003d 0,6; Fullname \u003d excel.activeworkbook.fullname; Excel.displayalerts \u003d FALSE; Excel.activeworkbook.saveas (fullname, 18); // 18 - XLS 97-2003; 51 - XLSX 2007-2013 //excel.Visible \u003d 1; // Ha dolgozni kell a könyvvel
//Excel.Application.Quit () // Ha csak menjen ki

TABDOCUMEN.Ship-up (teljes, "XLS"); Excel \u003d Objektum létrehozása ("Excel.Application"); Excel.workbooks.s.Open (teljes); Excel.visible \u003d 0; Excel.activewendow.displayworkbookTabs \u003d 1; Excel.activewindow.tabratio \u003d 0,6; Fullname \u003d excel.activeworkbook.fullname; Excel.displayalerts \u003d FALSE; Excel.activeworkbook.saveas (fullname, 18); // 18 - XLS 97-2003; 51 - XLSX 2007-2013 //excel.Visible \u003d 1; // Ha dolgozni kell a könyvvel
//Excel.Application.Quit () // Ha csak menjen ki

A táblázatban bemutatott adatokkal kapcsolatos további munkákhoz bármely verzió 1c rendszeréből származó adatokkal az XLS (X) formátumban menthető.

Minden jó lenne, de amikor az Excel-E-ben nyílik meg, a felhasználó azonnal megérti, hogy valami baj van az asztalnál, igen, igen, nincsenek címkék a könyv könyvében. %)

Tehát az 1C 7. verziójában volt, és a 8. helyen csavart, igen, van előrehaladás, a 8-kE-ben formátumban menthet xLSX, a legújabb Excel verziók natív formátuma.

A probléma megoldása érdekében számos egyszerű manipulációk, az első dolog, ami az elme minden felhasználó kiszáradni az asztal másik formátumra, de nincs szükség van, eredmény, akkor elkezdhetsz copy-paste egy új könyv Excel.
Van egy másik lehetőség, mintha a fejlett felhasználók számára - a beállításokba kerül Excel-i és továbbá csekk jelölést helyeznek meg a "lapok címkéinek" címkéjét. Helyes, de rutin is, az 1C-ből kapott adatok gyakori feldolgozása lapos táblák és további adatelemzés formájában összefoglaló táblázatok és egyéb módok formájában az Excel-ben.

Önmagában ez is ugyanabban az időben, hogy szaladgálni a kullancsok és úgy döntött, egy probléma, beletúrt a kiterjedésű az Internet, például, és vizsgáljunk meg néhány további fejlesztések, kiderült, végre kell hajtani egyszerű (valaki azt Baján , Valaki a CRUTZOWN, azonban az ízek nem vitatják) az automatizálási mechanizmus, amely megoldja a problémát a lapcímkék megjelenítésével.

Mindössze annyit kell használni, hogy az Excel ablak két tulajdonságait használja:

DisplayWorkBookTabs // A könyv Tabratio könyvjelzőinek megjelenítésének jele // A With With Bookmarkok szélességének aránya az ablakgörgetés vízszintes csíkjának szélességéhez (0 (nulla) és 1, az alapértelmezett érték 0,6)

Tabdocumen.ship-up (teljes fájl, tipadail ömlesztett kutya.xls); Excel \u003d New Comback ("Excel.Application"); Excel.workbooks.s.Open (teljes); Excel.visible \u003d 0; Excel.activewendow.displayworkbookTabs \u003d 1; Excel.activewindow.tabratio \u003d 0,6; Fullname \u003d excel.activeworkbook.fullname; Excel.displayalerts \u003d FALSE; Excel.activeworkbook.saveas (fullname, 18); // 18 - XLS 97-2003; 51 - XLSX 2007-2013 //excel.Visible \u003d 1; // Ha dolgozni kell a könyvvel
//Excel.Application.Quit () // Ha csak menjen ki

TABDOCUMEN.Ship-up (teljes, "XLS"); Excel \u003d Objektum létrehozása ("Excel.Application"); Excel.workbooks.s.Open (teljes); Excel.visible \u003d 0; Excel.activewendow.displayworkbookTabs \u003d 1; Excel.activewindow.tabratio \u003d 0,6; Fullname \u003d excel.activeworkbook.fullname; Excel.displayalerts \u003d FALSE; Excel.activeworkbook.saveas (fullname, 18); // 18 - XLS 97-2003; 51 - XLSX 2007-2013 //excel.Visible \u003d 1; // Ha dolgozni kell a könyvvel
//Excel.Application.Quit () // Ha csak menjen ki

Ossza meg