Uy / O'yin konsollari / Excel jadvalini 1s ga qanday qo'shish mumkin. Qaysi biri yaxshiroq - "1C" yoki "Excel"? Savolingiz bormi yoki maslahatchi yordamiga muhtojmisiz?

Excel jadvalini 1s ga qanday qo'shish mumkin. Qaysi biri yaxshiroq - "1C" yoki "Excel"? Savolingiz bormi yoki maslahatchi yordamiga muhtojmisiz?

Ko'pincha, potentsial mijozlar bilan muloqotda bo'lganimda, men ular ofis to'plamidan etarli darajada stol funksiyalariga ega ekanligini eshitaman va ular 1C dasturlarida nuqta ko'rmaydilar. Buning sababi shundaki, ba'zilar hali ham bu yechimni faqat buxgalteriya dasturlari bilan bog'lashadi, bu to'g'ri emas.

Excel universal va ommaviy mahsulotdir, bu bilan bahslasha olmaysiz. Tor mutaxassislarga mo'ljallangan "1C" ishlanmalaridan farqli o'laroq, ushbu dasturdan deyarli hamma foydalanishi mumkin. "Yashil" jadvallardan foydalanib, siz o'zboshimchalik bilan qulay bo'lgan kerakli funksionallikni amalga oshirishingiz mumkin: bu erda barcha o'zaro hisob-kitoblar, boshqaruv hisobi, hatto tartibga solinadigan, ma'lumotlarni vizualizatsiya qilishning katta tanlovi, dasturni kengaytirish imkoniyati mavjud bo'lgan tashkilotning moliyaviy modeli. turli xil qo'shimchalar yordamida imkoniyatlar - hamma narsa noldan sizning qo'lingizda...

Agar siz o'z biznesingizni endigina boshlayotgan bo'lsangiz, asta-sekin mijozlar, etkazib beruvchilar, nazorat qiluvchi organlar bilan munosabatlar to'g'risidagi jadvaldagi kerakli ma'lumotlarni hisobga olgan holda, o'zingizning o'zboshimchalik bilan tuzilmangizni yaratsangiz yaxshi bo'ladi, ammo ma'lumotlar bazasi kattalashganda nima qilish kerak va xodimlar soni o'nlab? Hammasi o'z parametrlariga ko'ra hisobga olinadimi? Men qulaylikni odat bilan chalkashtirmaslik tarafdoriman, bu ko'pincha biznesni tizimlashtirishga, demak, uni optimallashtirishga xalaqit beradi.

Aniqlik uchun, keling, buxgalteriya hisobini avtomatlashtirishda, masalan, savdoda qanday ehtiyojlar paydo bo'lishi mumkinligini tasavvur qilaylik:

1. Muayyan davr ichida sotish tahlili.

Savdo bo'limi boshlig'i savdo ma'lumotlarini tahlil qilishi mumkin. Axir, u uchun reja amalga oshirilmoqdami, samarasiz bo'lgan taqdirda o'z vaqtida tuzatishlar kiritish uchun uning strategiyalari qanchalik samarali ekanligini tushunish muhimdir.

2. Omborlar hisobi.
Savdolar uchun zaxiradagi tovarlar mavjudligini, qaysi tovarlarni bron qilish mumkin va qaysi biri yo'qolganligini va nimaga buyurtma berish kerakligini tushunish muhimligini tushuntirishim kerakmi? Menimcha, bu erda hamma narsa aniq.

3. Kontragentlar ma'lumotlar bazasini yuritish.
Egasi faqat B2C sektori uchun odatiy bo'lgan bu erda va hozir sotib olishingiz mumkin bo'lgan narsalarni sotsa ham, u etkazib beruvchilar bazasi bilan bir oz boshqacha munosabatlarga ega - shartnomalar, asosiy ... Yetkazib beruvchiga tegishli hamma narsa qanchalik qulayligini tasavvur qiling. avtomatik ravishda bitta ma'lumotlar bazasida ko'rsatiladimi? Ombor uchun mas'ul boshlig'i omborda tovarlar mavjudligini darhol ko'radi, hujjatlar uchun mas'ul bo'lgan boshqa xodim ularning mavjudligi, shartnoma munosabatlari bo'yicha barcha majburiyatlar bajariladimi yoki yo'qmi, kimdan va qancha qarzdorligi to'g'risidagi ma'lumotlarni nazorat qiladi. Va nomuvofiqliklar bo'lsa, siz ma'lum bir davr uchun ma'lumotlarni tekshirishingiz mumkin, natijani bir daqiqadan kamroq vaqt ichida yaratishingiz mumkin.

4. Tashkilotning foydasi.
Foyda hisobotini yaratish qiyin bo'lmaydi, chunki xarajatlar va daromadlar haqidagi barcha ma'lumotlar allaqachon ma'lumotlar bazasida mavjud. Agar ma'lumotlar o'z vaqtida, hech bo'lmaganda talab qilingan sanaga kiritilgan bo'lsa. Bu erda asosiy omil - foydalanuvchining shaxsiy javobgarligi.

Agar sizda mijozlar va etkazib beruvchilar ko'p bo'lmasa, Excel sizga haqiqatan ham mos keladi, chunki jadvalda o'zingizning sxemalaringizni ishlab chiqish va ularni to'ldirish uchun ko'p vaqt bor, keyinchalik hujjatlarni kompyuteringizdagi turli papkalarga tarqatish: shartnomalar, etkazib beruvchilar, mijozlar, mahalladagi mijozlar, ishlab chiqilayotgan mijozlar, o'chirilishi kerak bo'lgan mijozlar - papka ichida papkalarni yaratishning cheksiz va hayajonli jarayoni. Va agar juda ko'p ma'lumot bo'lsa, bu holda ma'lumotlar bazasini yozib olish qulaymi? Albatta, har doim istisnolar mavjud, ba'zida moliyaviy ma'lumotlar faqat Excelda saqlanadigan katta aylanmalarga ega bo'lgan tashkilotlar mavjud. Bo'limlar o'rtasida ma'lumotlarni almashish va birlashtirish uchun ularga qancha vaqt ketadi? Javob: juda ko'p.

Men ixtiyoriy tizim tomonidan tashkil etilgan ko'p sonli Excel hujjatlarida to'g'risini qanday tezda topishni bilmayman. Masalan, soliq talablari uchun hujjatlarni topshirishda. Ma'lumotlarning hammasi tarqalib ketganda, buxgalter nazorat qiluvchi organlarga hisobotlarni qanday taqdim etadi? Buxgalteriya hisobi, albatta, autsorsing bo'lishi mumkin va ba'zi biznes egalari, afsuski, bu mutaxassis qanday jarayonlarga ega bo'lishi mumkinligiga e'tibor bermasliklari mumkin, agar u muvozanatlashsa. Ammo shunday bo'lsa ham, hujjatlar almashinuvi jarayoni qanday tashkil etilgan? Yon tomondagi xodim ma'lumotlarning kutilmagan tuzilishini qanchalik tez tushunadi?

Men 1C haqida shunday deya olmayman, chunki u yerdagi barcha ma'lumotlar tuzilgan va o'zaro bog'langan:

    Masofaviy va to'liq vaqtli xodimlar uchun yagona ma'lumotlar bazasi, unda siz barcha standartlashtirilgan va o'zboshimchalik bilan hujjatlar bilan ishlashingiz mumkin;
    Nazorat qiluvchi organlarga hisobot berish dasturda allaqachon aks ettirilgan ma'lumotlarga asoslanadi, yakuniy natijalarni olish uchun ko'plab fayllarni ochish, bir nechta qiymatlarni bitta jadvalga qisqartirish kerak emas.
"1C", yaxshi ma'noda, buxgalteriya hisobining odatiy vazifalariga va faoliyat sohasiga qarab barcha tashkiliy jarayonlarni avtomatlashtirishga qaratilgan ko'p vazifali tizimdir. Bu erda kalit so'z tizimdir. Hech kim sizni Excelda biznes tizimini tashkil qilish uchun bezovta qilmaydi, lekin vaqtni, moliyaviy xarajatlarni optimallashtirish, ishni tizimlashtirishga yordam beradigan deyarli barcha ehtiyojlarni qoplaydigan echimlar mavjud bo'lganda, nega g'ildirakni qayta kashf qilish kerak?

Excel himoyasida

Ehtimol, men "yashil" jadvallarda ma'lumotlarni yaratishga qarshiman deb tuyuldi. Arzimaydi. Aslida, men o'zim Excelda tez-tez ba'zi narsalarni qilaman: agar menga o'zboshimchalik bilan hisob-kitoblar kerak bo'lsa, agar men mijozlar bo'yicha ma'lumotlarni segmentlashim kerak bo'lsa, 1Cda bo'lmagan parametrlar bo'yicha tahlillarni o'tkazishim kerak bo'lsa - ha, bu sodir bo'ladi - men " excel ga o'taman. Oddiy qilib aytganda, jadvallarda men hisob-kitoblarni, nostandart tahlillarni qilaman, lekin keyin baribir 1C da hamma narsani tizimlashtiraman.

Va keyin, 1C-dan yuklangan fayllarni ko'rish uchun sizga hali ham Excel kerak bo'ladi, chunki 1C-dagi ma'lumotlar elektron jadvallarda saqlanadi. Sizningcha, bu ayovsiz doira? Men boshqacha qo'yaman: "1C" va "Excel" ikkita sherik kabi yonma-yon yuradi, lekin ularning har biri o'z maqsadiga ega, ular bir-birini yaxshi to'ldiradi, lekin bir-birini almashtirmaydi.

Agar siz o'z ishlaringizni davlatimizning qonunchilik tizimini hisobga olgan holda, biznesning o'ziga xosligi va yo'nalishini hisobga olgan holda tizimlashtirishingiz kerak bo'lsa, ayniqsa katta hajmdagi ma'lumotlar haqida gap ketganda, sizga 1C kerak bo'ladi. Agar sizga o'zboshimchalik bilan hisob-kitoblar, noldan strategiya yaratish, nostandart tahliliy ma'lumotlarni vizuallashtirish kerak bo'lsa, Excel sizning xizmatingizda. Ammo bu echimlar bilan bir vaqtning o'zida ishlash ancha qulayroq.


Natija nima - "1C" yoki "Excel"?

Eng boshida, agar savol avtomatlashtirish uchun moliya bo'yicha bo'lsa, asosiy 1C dasturlari unchalik qimmatga tushmasa ham, men Exceldan foydalanardim. Katta plyus shundaki, "yashil" jadvallardagi ma'lumotlar yo'qotmasdan 1C ga yuklanishi mumkin. Ammo siz ko'lamni kengaytirganingizda, men sizga biznes jarayonlarini avtomatlashtirish dasturlariga e'tibor berishingizni maslahat beraman. Ularning ko'pi bor va bu "1C" bo'lishi shart emas ...

1C ga o'tish sizning resurslaringizni optimallashtirish, shu jumladan mijozlar va etkazib beruvchilar, nazorat organlari bilan munosabatlar bilan bog'liq muammolarni avtomatlashtirish zarurligini tushunganingizda amalga oshirilishi mumkin. Umuman olganda, ma'lumotni qayta ishlash ko'p vaqt talab qiladigan va Excel fayllari kiritilgan ma'lumotlar hajmiga bardosh bera olmaydigan biznes samaradorligini oshirish uchun ish oqimlaringizni yaxshilash.

Biroq, har bir "1C" sizga mos kelmaydi, siz turli omillarni hisobga olishingiz kerak: biznesning o'ziga xosligi va ko'lami, ko'lami, kundalik vazifalarga bo'lgan ehtiyoj, minimallashtirilishi kerak bo'lgan tartib. Hamma narsa individualdir. Haqiqat, aytganimdek, "1C" va "Excel" o'rtasida - bu bir-biriga qo'shimcha.

Bu haqida, ehtimol, hamma narsa. Ammo agar sizda biron bir savol bo'lsa, biz bilan bog'laning va biz sizga yordam berishga harakat qilamiz. Muvaffaqiyatli biznes jarayonlari, hamkasblar!

  • kontragentlar o'rtasida ma'lumot almashinuvini amalga oshirishda (narxlar ro'yxati, solishtirish aktlari va boshqalar);
  • Asosiy buxgalteriya hisobi 1C da olib boriladigan va uning bir qismi Excel jadvallarida bajarilgan hollarda operatorlarning ishini engillashtirish;
  • Ma'lumotlar bazasini dastlabki to'ldirish jarayonida.

Ushbu operatsiyani bajarish uchun siz axborot texnologiyalarini qo'llab-quvvatlashga (ITS) obuna bo'lgan standart funksiyalardan va turli ulanish variantlari orqali amalga oshiriladigan o'z-o'zidan yozilgan ishlov berishdan foydalanishingiz mumkin. Maqolamizda biz barcha mumkin bo'lgan holatlarni iloji boricha to'liq tahlil qilishga harakat qilamiz va Excel-dan 1C-ga ma'lumotlarni yuklash bo'yicha mavjud savollarning aksariyatiga javob beramiz.

Universal harakat

ITS disklarida, shuningdek, 1C portalida "Texnologik yordam" -> "Universal hisobotlar va qayta ishlash" menyusiga o'tish orqali "Elektron jadval hujjatidan ma'lumotlarni yuklash" papkasida tegishli ishlov berish mavjud.

U ishga tushirilganda forma ochiladi (1-rasm):

Shakldan ko'rinib turibdiki, u sizga ma'lumotlarni quyidagi konfiguratsiya ob'ektlariga o'tkazish imkonini beradi:

  1. katalog;
  2. Hujjat yoki ma'lumotnomaning jadval qismi;
  3. Ma'lumotlar reestri.

Kommutatorning holatiga qarab, ob'ektni tanlash maydoni o'zgaradi.

Yuklangan faylni ochganingizda ishlov berish jadvali shakli to'ldiriladi.

Turni qayta ishlash quyidagidan yuklashni qo'llab-quvvatlaydi:

  • 1C kompaniyasi mutaxassislari tomonidan ishlab chiqilgan, formatdagi fayllarmxl;
  • Lisztxls formatida saqlanganExcel 97-2003;
  • matn faylitxt;
  • jadvallardbf.

Katta hajmli Excel fayllarini yuklash uzoq vaqt talab qilishi mumkin, shuning uchun agar ma'lumotlarni yuklash bir necha bosqichda amalga oshirilishi mumkin deb taxmin qilinsa yoki mavjud faylni bir necha marta ochishingiz kerakligini aniq bilsangiz, ma'lumotni saqlash yaxshiroqdir. undan nervlarni va vaqt formatini saqlash uchun mxl da. Buni to'g'ridan-to'g'ri ishlov berish shaklidan qilishingiz mumkin.

Agar manba faylida qator guruhlari, sarlavhalar va eslatmalar mavjud bo'lsa, ularni qo'lda olib tashlash kerakligini tushunish muhimdir.

Endi "Sozlamalar" yorlig'iga o'tamiz (2-rasm):

2-rasm

Ko'pincha Excel elektron jadvallarida har xil ma'lumotlar va ma'lumotlar (chop etilgan shaklning nomi, kontragentning tafsilotlari, kiruvchi hujjatning sanasi va raqami, ustun nomlari va boshqalar) o'z ichiga olgan sarlavha mavjud bo'lib, ularni qayta ishlashni istisno qilish uchun. shakldagi dastur, "Elektron jadval hujjatining birinchi qatori" atributida siz uzatilgan ma'lumotlar bilan birinchi qatorni ko'rsatishingiz kerak.

Ma'lumot yoziladigan metadata ob'ektini tanlagandan so'ng, "Sozlamalar" yorlig'ining jadval bo'limi avtomatik ravishda atributlar nomlari, ularning turlarining tavsiflari va boshqalar bilan to'ldiriladi. muhim ma'lumotlar. "Sozlamalar" yorlig'ining jadval qismining ustunlarini ko'rib chiqish alohida bo'limga bag'ishlanishi kerak.

Sozlamalar ustunlari

Bayroq - satrdagi katakchani belgilash yoki belgini olib tashlash orqali tegishli atribut to'ldiriladimi yoki yo'qmi aniqlanadi.

Atributning ifodalanishi - metadata atributining sinonimi (nomi) konfiguratorda ko'rsatilganidek, bu erda yoziladi.

Qidiruv maydoni - agar siz ushbu katakchani belgilasangiz, ishlov berish mos keladigan atribut bo'yicha elementlarni qidiradi va agar muvaffaqiyatli bo'lsa, mavjud ma'lumotlarni o'zgartiradi, qo'shimcha funktsiya bu maydon - dublikatlarning paydo bo'lishidan himoya qilish.

Turlarning tavsifi - u yoki bu metadata atributiga ega bo'lgan ma'lumotlar turini ko'rsatadi.

Yuklab olish rejimi - tanlash uchun uchta variantni taklif qiladi (3-rasm):

3-rasm

  • Qidiruv - mos keladigan element qidiriladi, agar u yo'q bo'lsa, yangisini yaratish mumkin;
  • Set - ma'lum bir qiymat bo'ysunuvchi tarzda o'rnatiladi;
  • Hisoblash - bu holda "Qiymat uchun bog'lanish sharti/iborasi" ustunida ko'rsatilgan ifodani hisoblash natijasi yaratilayotgan element maydoniga o'rnatiladi.

Ikkinchi holda, Ifoda maydonini faollashtirish shaklni ochadi (4-rasm).

4-rasm

Ustun raqami - Excel elektron jadvalining qaysi ustunidan to'ldirish uchun ma'lumotlarni olish kerakligini ko'rsatish uchun ishlatiladigan maydon.

Standart qiymat - ko'pincha yuklangan faylda elementni yozish uchun zarur bo'lgan barcha ma'lumotlar mavjud bo'lmagan vaziyat yuzaga keladi, bu holda ushbu maydondagi ma'lumotlar to'ldirish uchun to'ldiriladi.

Bog'lanish sharti / Qiymat ifodasi - biz hisoblangan maydonlarni ko'rib chiqqanimizda, biz ushbu maydonga qisman to'xtalib o'tdik, bundan tashqari, siz manba ma'lumotlari sinxronlashtiriladigan shartni belgilashingiz mumkin.

Bu erda, qoida tariqasida, "Sozlamalar" yorlig'ida mavjud bo'lgan barcha ma'lumotlar.

Har safar yuklash, yozishmalar va ifodalarni yozish uchun ko'p vaqtni o'ldirmaslik uchun ishlab chiquvchilar sozlamalarni mxlz kengaytmali faylga saqlash imkoniyatini taqdim etdilar.

O'tkazilgan ma'lumotlarning to'g'riligini "To'ldirish nazorati" tugmasini bosish orqali tekshirishingiz mumkin (1-rasm). Shundan so'ng siz yuklab olish jarayonini boshlashingiz mumkin. Jarayonning muvaffaqiyatli bajarilishi yoki nostandart vaziyatlar haqida sizga alohida xabar beriladi.

Excel dan ma'lumotlarni yuklash uchun axborot bazalari“Boshqaruv va savdo”da yana bir mexanizm mavjud. Bu yuqoridagi usulga qaraganda kamroq universaldir, ammo u ITS obunasini talab qilmaydi va standart etkazib berishga kiritilgan.

Ushbu qayta ishlashni "Xaridlar" yorlig'ida, "Xizmat" menyusida topish mumkin, u "Fayllardan yetkazib beruvchi narxlarini yuklash" deb ataladi (5-rasm).

5-rasm

Qayta ishlash shakli quyidagilarni o'z ichiga oladi:

  1. Bu narx qaysi vaqtga tegishli ekanligini ko'rsatadigan sanani tanlash maydoni;
  2. Narxlar ro'yxatini yuborgan kontragentni tanlash maydoni;
  3. O'rnatiladigan narxlar turini tanlash imkonini beruvchi tugma;
  4. Yuklangan ma'lumotlar bilan to'ldirilishi mumkin bo'lgan jadval bo'limi.

Ushbu shaklni 6-rasmda ko'rish mumkin

6-rasm

Shaklning yuqori qismidagi afsona shaklning birinchi yorlig'idan qanday foydalanishni tushuntiradi.

Kontragentni tanlagandan so'ng (u yetkazib beruvchi, komissioner yoki sotuvchi sifatida harakat qilishiga qarab) jadvalda har bir narx turi uchun qo'shimcha ustunlar mavjud bo'ladi.

Veb-interfeys orqali ishlashda ba'zi brauzerlar brauzer plaginini o'rnatishni talab qilishi mumkin (7-rasm). Biz "O'rnatishni boshlash" tugmasini bosishimiz va ulanishimizni qayta boshlashimiz kerak.

7-rasm

Shundan so'ng, clipboard yordamida biz ma'lumotlarni bir jadvaldan ikkinchisiga o'tkazishimiz mumkin bo'ladi. Bizga kerak bo'lgan ustunlar ("Maqola", "Ism", "Narx") to'ldirilganda, biz "Keyingi" tugmasini bosamiz va ikkinchi sahifaga o'tamiz (8-rasm).

8-rasm

Dastur avtomatik ravishda ma'lumotlar bazasida mos keladiganlarni qidiradi va agar yo'q bo'lsa, xatoni hal qilish variantlarini taklif qiladi. Tashqi ko'rinish jadval qismi kalit bilan boshqarilishi mumkin. Bundan tashqari, foydalanuvchi yuklangan faylning elementlarini ma'lumotlar bazasidagilar bilan mustaqil ravishda solishtirishi mumkin.

  • Hamma narsani ro'yxatdan o'tkazish;
  • Ma'lumotlar bazasida mavjud bo'lganlarga nisbatan faqat o'zgarganlarni ro'yxatdan o'tkazing.

Matn maydoniga hujjatga yoziladigan izohni kiritishingiz mumkin (9-rasm):

9-rasm

Qayta ishlashdan keyin:

  • Tegishli element "Yetkazib beruvchi nomenklaturasi" katalogida yaratiladi (agar u mavjud bo'lmasa);
  • U "Nomenklatura" ma'lumotnomasining elementi bilan mos keladi;
  • "Tovar narxlarini belgilash" hujjati yaratiladi va e'lon qilinadi, unda quyidagilar ko'rsatiladi: etkazib beruvchi, narx turi va ma'lumotlarni belgilash sanasi.

"Tashqi fayllardan tovarlarni yuklash" ni qayta ishlash xuddi shunday ishlaydi.

DIY uzatishni qayta ishlash imkoniyatlari

Excel faylidan ma'lumotlarni olishda asosiy muammo shundaki, 1C uni ochish uchun o'rnatilgan aniq mexanizmga ega emas. Bir nechta variant mavjud Excel ulanishlari 1C gacha:

  • Microsoft ADODB orqali - bu, qoida tariqasida, ham fayl, ham mijoz-server ma'lumotlar bazasini saqlash imkoniyatlari uchun qo'llaniladigan juda tez usul;
  • orqali Microsoft foydalanish Office - SQL ma'lumotlar bazalari bilan ishlashda ba'zida muvaffaqiyatsiz bo'ladigan usul, qoida tariqasida, u birinchi usuldan biroz sekinroq ishlaydi va Office ham talab qilinadi;
  • Libre Office orqali - oldingi usuldan farqli o'laroq, u bepul, xls va xlsx formatlaridan tashqari, o'z jadvallarini ham qo'llab-quvvatlaydi, lekin o'rnatilgan dasturni talab qiladi. LibreOffice to'plami va yuklangan faylni biroz tayyorlash (jadvalning birinchi qatorida ustunlar nomlari bo'lishi kerak).

Keling, batafsil ko'rib chiqaylik turli yo'llar bilan va variantlar.

ADODB.Connection orqali

Umuman olganda, ADO ActiveX Data Object degan ma'noni anglatadi va xizmat qiladi dasturga kirish turli ma'lumotlar bazalariga. Uchinchi tomon fayliga (shu jumladan Excelga) ulanishni yaratishda eng katta muammo ulanish qatorini to'g'ri tuzishdir.

Excel fayllari uchun uchta variant mavjud:

Ulanish qatori variantlari:

  • Provayder - ishlatiladigan haydovchi bu erda aniqlanadi;
  • Ma'lumotlar manbai - biz ochadigan fayl nomini belgilaydi;
  • Kengaytirilgan xususiyatlar - bu erda jadval uchun sarlavha qatori kerak yoki yo'qligini belgilashingiz mumkin (HDR = YES ma'lumotlar birinchi qatordan o'qilishini bildiradi, HDR = YO'Q - ikkinchidan), fayl faqat o'qish uchun ochiladimi ( Faqat o'qish) va boshqa ba'zi qo'shimcha variantlar.

Ulanish qatorini yaratib, biz yuklab olingan faylga ulanishimiz mumkin (13-rasm)

13-rasm

Endi biz foydalanishimiz mumkin oddiy so'rov(14-rasm) yuklab olingan fayldan ma'lumot olishni boshlang.

DA bu holat"Sheet" parametri excel ish kitobidan qaysi varaq bilan ishlashimiz kerakligini aniqlaydi.

Varaqda saqlangan yozuvlar to'plamini Recordset ob'ekti yordamida o'qish mumkin. Bunday holda, varaqning birinchi yozuvi BOF (faylning boshlanishi) parametri va oxirgi EOF (faylning oxiri) bo'yicha olinishi mumkin.

Excel dasturi orqali

Oldingi usuldan asosiy farqi shundaki, ulanish o'rnatilgan kompyuterda ma'lumotlar bazasi drayverlaridan tashqari Excel o'rnatilgan bo'lishi kerak. Faqat bu holatda jadvaldan ma'lumotlarni o'qish uchun dasturni ishga tushirishimiz mumkin (16-rasm).

Ushbu MAQOMOTI ob'ektida bir nechta bola parametrlari mavjud, ammo biz uchun asosiysi, vazifaning joriy shartlarida, WorkBooks parametridir (17-rasm).

Kitobni ishga tushirgandan so'ng, ma'lumotlar o'qiladigan varaqni aniqlash kerak (18-rasm).

Shundan so'ng siz ochilayotgan fayl jadvalining satr va ustunlari davrlarini takrorlashingiz mumkin.

Mumkin bo'lgan xatolar haqida bir necha so'z

Faylga ulanishda xatoliklarning asosiy ulushi fayl allaqachon boshqa dastur tomonidan ishlatilayotganligi sababli yuzaga keladi. Vazifalar paneli Excel kompyuterda ishlayotganini ko'rsatsa yaxshi bo'ladi, lekin siz yoki boshqa foydalanuvchi uni ochgan bo'lsa tashqi ishlov berish, buni vizual tarzda faqat "Vazifa menejeri" orqali aniqlash mumkin, shuning uchun uzatish jarayoni tugagunga qadar ulanishni yopishni unutmang:

ADO orqali ishlaganda (19-rasm);

19-rasm

  • Ilova bilan ishlashda (20-rasm).

Guruch. yigirma.

Ulanish va ma'lumotlar bilan ishlashni yakunlash tartibi eng yaxshi urinish-istisno-tugatish urinishi konstruksiyasida tashkil etilgan bo'lib, istisno vaziyatda xato tavsifiga sabab bo'ladi. Garchi bu ba'zan ishni sekinlashtirsa-da, xatoning sababini aniqlashni va oxir-oqibat uni bartaraf etish usullarini sezilarli darajada osonlashtiradi.

1C da MS Excel fayllari bilan MAQOMOTI ob'ekti va elektron jadval hujjati ob'ektidan foydalangan holda o'rnatilgan 1C vositalari orqali ishlashning 2 usuli mavjud. Keling, ushbu usullarning ikkalasini ham batafsil ko'rib chiqaylik.

1. COM-ob'ekti orqali ishlash.

Ushbu usul MS Excel dasturini o'rnatishni talab qiladi va agar siz serverda fayl bilan ishlayotgan bo'lsangiz, u holda MS Excel serverda o'rnatilishi kerak, agar mijozda bo'lsa, mijoz tomonidan MS Excel ham talab qilinadi.

Misol (maqola oxirida matn shaklida ko'rish mumkin):

Shuni ta'kidlash kerakki, "Excel.Application" COM ob'ekti taqdim etgan barcha ob'ektlar, usullar va xususiyatlar VBA, MS Office dasturlash tilining ob'ektlari, usullari va xususiyatlari hisoblanadi.

Eslatma:

Ba'zan siz mavjud shablon bilan ishlashingiz kerak bo'ladi. Keyin biz ushbu shablonni barcha kerakli foydalanuvchilar unga kirish imkoniga ega bo'lishi uchun biron bir joyda saqlashimiz kerak. Biroq, osonroq yechim bor, biz shablonni ikkilik tartib sifatida saqlaymiz.

2. Elektron jadval hujjati 1C bilan ishlash.

1C elektron jadval hujjati 8-platformadan boshlab yozish uchun MS Excel formatini qo'llab-quvvatlaydi, lekin faqat 8.3.6 platformasidan boshlab ochish uchun. Bundan tashqari, ochilganda barcha varaqlar bitta elektron jadval hujjatiga yuklanadi. 8.3.10 versiyasidan boshlab, yuklashda turli varaqlar turli sohalar sifatida yuklanadi.

Yozib olish misoli juda oddiy va ko'p e'tibor talab qilmaydi:

Biroq, bu erda bizda muammo bor. Excel ish kitobida 1C dan yozishda varaq nomlarini ko'rsatish sukut bo'yicha o'chirib qo'yilgan.

Ushbu muammoni 2 usulda hal qilish mumkin, 1 - sozlamalarda kitobning o'zida varaqlarni ko'rsatishni yoqing (hamma foydalanuvchilar bunga rozi bo'lmaydi), 2 - buni COM ob'ekti orqali bajaring (bizga yana MS Excel o'rnatilishi kerak) .

Ushbu kichik qo'shimchadan so'ng, varaq yorliqlari MS Excel faylida ko'rinadi.

MS Excelni o'qish unchalik oddiy ish emas, chunki o'qish usuli faqat serverda yoki qalin mijozda mavjud. Buning uchun MS Excel faylini serverga o'tkazishimiz kerak.

&AtClient

CreateDocument() protsedurasi

Istisno

Urinishning tugashi;

Kitob = Excel.WorkBooks.Add(); //Yangi MS Excel ishchi kitobini yarating

Sheet = Book.WorkSheets.Add(); // Varaq qo'shing

Sheet.Name = "1C dan misol"; //Varaq nomini o'rnating

Sheet.Cells (1,1).Value = "(!LANG: Formula yarataylik";!}

Sheet.Cells(2,1).Value = 1;

Sheet.Cells(2,2).Value = 2;

Sheet.Cells(2,3).Formula = "=A2+B2";

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

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

Book.Close();

EndProcedure

&Serverda

GetLayoutServer() funktsiyasi

Qaytish FormAttributeToValue("Object").GetLayout("Yuklab olish shablon"); //Tashqi ishlov berish tartibini shu tarzda olamiz;

EndFunctions

&AtClient

Jarayon ishi()

Excel = Yangi COMObject("Excel.Application");

Istisno

Show("Excel komponentini ulashga urinish muvaffaqiyatsiz tugadi. Excel o'rnatilmagan bo'lishi mumkin bu kompyuter!");

Urinishning tugashi;

Layout = GetLayoutServer();

Layout.Write(TemporaryFileName);

Savolingiz bormi, sizga maslahatchi yordami kerakmi?

Kitob = Excel.WorkBooks.Open(TempFileName);

SheetTemplate = Book.WorkSheets(1);

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

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

SheetTemplate.NumberFormat = "dd/aa/yy;@"; // Sana formatini beramiz, bu format MS Excelda makrosni yozib olish orqali olinadi

SheetTemplate.Columns("B:B").EntireColumn.AutoFit; // Ustunni sanaga to'liq moslash uchun cho'zing

Book.SaveAs(Fayl nomi);

Book.Close();

EndProcedure

&AtClient

EndProcedure

&AtClient

WriteSpreadsheetDocument() protsedurasi

SpreadsheetDocument = New SpreadsheetDocument();

SpreadsheetDocument.Area("R1C1").Matn = "1C dan MS Excel-dagi yozuvga misol";

SpreadDocument.Write("C:\1\Test2.xls",SpreadDocumentFileType.XLSX);

Excel = Yangi 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()

EndProcedure

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

Manzil=PutToTempStorage(BinaryData,ThisForm.UniqueIdentifier);

SpreadsheetDocument = DownloadOnServer(Manzil);

SpreadsheetDocument.Show();

EndProcedure

&Serverda

LoadOnServer funktsiyasi (manzil)

TempFileName = GetTemporaryFileName("xlsx");

FileData = GetFromTempStorage(Manzil);

FileData.Write(TemporaryFileName);

SpreadsheetDocument = New SpreadsheetDocument();

Elektron jadval hujjatini qaytarish;

Kirish.

Ko'pchilik Excel 1C dan ancha eski ekanligini biladi. Menimcha, bu juda muvaffaqiyatli mahsulot va men bu haqda hech qanday shikoyatlarni eshitmadim. Excel oddiy va ko'p qirrali. U nafaqat oddiy arifmetik amallarni, balki murakkab hisob-kitoblarni, grafiklarni va hokazolarni ham bajarishga qodir. Tashkilotlar 1C-ga o'tishdan oldin Excel-da buxgalteriya hisobining bir qismini saqlaganliklari misollarini bilaman. Ko'pchilik va hozir parallel ravishda ikkita dasturdan foydalanmoqda. Ushbu maqolada biz 1C va Excel o'rtasida ma'lumot almashish usullarini ko'rib chiqamiz.

Jadvallar 1C va Excel.

Qulaylik uchun ko'p foydalanuvchilar 1C jadvallarini (bosma shakllar) Excel formatida (* .xls) saqlaydi. Shundan so'ng, hosil bo'lgan faylda turli guruhlar, saralashlar, hisoblar va boshqalar amalga oshiriladi. Buning sababi, 1C jadvallarida Excel jadvallarida bo'lgani kabi katta funksionallik mavjud emas. Ammo 1C 8.0 versiyasida jadvallar bilan ishlashni yanada qulayroq qiladigan yangiliklar mavjud.

1C veb-saytida (http://www.1c.ru/) Excelda 1C jadvallarini ochish va Excel varag'ini 1C jadvali sifatida saqlash imkonini beruvchi foydali dastur mavjud. Agar 1C jadvali Excel formatida saqlanmagan bo'lsa va 1C ushbu jadvalni ochishingiz kerak bo'lgan kompyuterda o'rnatilmagan bo'lsa, bu foydalidir. Ha, va doimo esda tutingki, siz 1C jadvalini Excel formatida saqlashingiz kerak, bunga ehtiyoj qolmaydi.

Dastur haqida toʻliq maʼlumotni bu yerda topishingiz mumkin.
Dasturni bu yerdan yuklab olishingiz mumkin (zip arxivi 682 739 bayt).

Izoh: Excelda kasr ajratgich "," dir. Shuning uchun, 1C jadvalini Excel formatida saqlashdan oldin undagi boshqa ajratgichni (masalan, ".") "," bilan almashtiring. Aks holda, Excel bu raqamlar bilan hisob-kitoblarni amalga oshira olmaydi yoki ular umuman raqamlar sifatida ko'rsatilmaydi. Masalan, 1C-jadvalda "15.2" Excelda "15-fevral" sifatida ko'rsatiladi.

Exceldan ma'lumotlarni olish.

1C dan Excelga kirish OLE orqali amalga oshiriladi. Masalan, kod
Urinish
Istisno
Xabar berish (Xato tavsifi() +
);
Qaytish;
Urinishning tugashi;
bizga "Excel" o'zgaruvchisi orqali kirish imkonini beradi ishlaydigan dastur Excel. Va keyin siz allaqachon kitob (fayl), varaq va ma'lumotlar bilan hujayraga kirishingiz mumkin. Quyida kod misollari keltirilgan.

Kitobni (faylni) ochish:
Kitob = Excel. ish kitoblari. Ochish (PathToFile);
PathToFile - Excel ish kitobi fayliga to'liq yo'l.

Ishlash uchun kitob varag'ini tanlash:
yoki
Sheet = Kitob. Ish varaqlari (SheetName);
SheetNumber - kitobdagi varaqning raqami, SheetName - kitobdagi varaqning nomi.

Varaq katak qiymatini olish:
Qiymat = varaq. Hujayralar (LineNumber , ColumnNumber ). qiymat;

Muhim: kerakli amallarni bajarish uchun maydonga Excel kodini qo'shishni unutmang. Chiqish(); , aks holda ishlaydigan jarayon tugallanmagan bo'lib qoladi va kompyuterning xotirasi va protsessorini egallaydi.

Excelga ma'lumotlarni chiqarish.

Excelga ma'lumotlarni chiqarish (yuklash) uchun siz mavjud ish kitobini ochishingiz yoki yangisini yaratishingiz va ma'lumotlarni chiqarish uchun ishchi varaqni tanlashingiz kerak. Mavjud kitobni ochish yuqorida tavsiflangan, ammo yangi kitob yaratish uchun siz quyidagi koddan foydalanishingiz kerak:
Urinish
Excel = CreateObject("Excel.Application" );
Istisno
Xabar berish (Xato tavsifi() +
"Bu kompyuterda Excel o'rnatilmagan!");
Qaytish;
Urinishning tugashi;
Kitob = Excel. ish kitoblari. qo'shish ();

Excelda ishchi kitobni yaratishda varaqlar avtomatik ravishda yaratilishi sababli (Asboblar->Tanlovlar->Umumiy->Yangi ish kitobidagi varaqlar), siz faqat ishlash uchun varaqni tanlashingiz kerak:
Sheet = Kitob. Ish varaqlari (SheetNumber);
yoki agar kerak bo'lsa, kitobga yangi varaq qo'shing:
Sheet = Kitob. Choyshablar. qo'shish ();
Keyingi qadam hujayra qiymatini o'rnatishdir:
Varaq. Hujayralar (LineNumber , ColumnNumber ). qiymat = qiymat;
RowNumber, ColumnNumber - katakchaning kesishmasida joylashgan satr va ustun raqami.
Va oxirida siz yaratilgan kitobni yozib olishingiz kerak:
Urinish
Kitob. SaveAs (PathToFile);
Istisno
Xabar berish (Xato tavsifi()
+ "Fayl saqlanmadi!");
Qaytish;
Urinishning tugashi;
PathToFile - Excel ish kitobi fayliga to'liq yo'l (shu jumladan nom).
Muhim: esda tutingki, fayl nomlarida \ /: * bo'lmasligi kerak? " >< |.

Excelda qiymatlarni o'qish / sozlash uchun keng tarqalgan usullar.

Excel = CreateObject("Excel.Application" ); Excel dasturiga kirish imkoniyati.
Excel. Visible = Visibility ; 0 - Excel ko'rinmaydi, 1 - ko'rinadi.
Kitob = Excel. ish kitoblari. qo'shish (); Excel yangi ish kitobini (faylini) yaratish.
Kitob. SaveAs (Fayl nomi); Excel ish kitobini saqlash.
Sheet = Kitob. Ish varaqlari. qo'shish (); Kitobga yangi varaq qo'shish.
Kitob = Excel. ish kitoblari. Ochish (Fayl nomi); Mavjud ish kitobi (fayl) Excelni ochish.
Sheet = Kitob. Ish varaqlari (SheetNumber); SheetNumber raqami bilan varaqni ishchi varaq sifatida o'rnatish.
Varaq. Ism = SheetName; Ishchi varaqni nomlash SheetName
Varaq. PageSetup. Masshtab = masshtab; Sahifani masshtablash opsiyasini belgilaydi (10 dan 400 gacha).
Varaq. PageSetup. Orientatsiya = Orientatsiya; Orientatsiya: 1 - portret, 2 - landshaft.
Varaq. PageSetup. LeftMargin = Excel. SantimetersToPoints (Santimetr); Chap chegarani o'rnatadi (santimetrda).
Varaq. PageSetup. TopMargin = Excel. SantimetersToPoints (Santimetr); Yuqori chegarani belgilaydi (santimetrda).
Varaq. PageSetup. RightMargin = Excel. SantimetersToPoints (Santimetr); O'ng chegarani belgilaydi (santimetrda).
Varaq. PageSetup. BottomMargin = Excel. SantimetersToPoints (Santimetr); Pastki chegarani o'rnatadi (santimetrda).
Varaq. Ustunlar (ustun raqami). ColumnWidth = Kenglik; Ustun kengligini o'rnating.
Varaq. Hujayralar (LineNumber, ColumnNumber). qiymat = qiymat; Hujayraga ma'lumotlarni kiritish.
Varaq. Hujayralar (LineNumber, ColumnNumber). shrift. Ism = FontName; Hujayradagi shriftni o'rnatish.
Varaq. Hujayralar (LineNumber, ColumnNumber). shrift. Hajmi = FontSize; Hujayradagi shrift hajmini o'rnating.
Varaq. Hujayralar (LineNumber, ColumnNumber). shrift. Qalin = qalin; 1 - qalin shrift, 0 - normal.
Varaq. Hujayralar (LineNumber, ColumnNumber). shrift. Kursiv = Kursiv; 1 - qiya shrift, 0 - normal.
Varaq. Hujayralar (LineNumber, ColumnNumber). shrift. tagiga chizilgan = tagiga chizilgan; 2 - tagiga chizilgan, 1 - yo'q.
Varaq. Hujayralar (LineNumber, ColumnNumber). NumberFormat = Format; Hujayra ma'lumotlari formatini o'rnating.
Varaq. Hujayralar (LineNumber, ColumnNumber). Chegaralar. Linestyle = LineType; Hujayra chegaralarini o'rnating. 1 - yupqa qattiq.

Bu usul oddiy. Uning mohiyati shundaki, ob'ekt Elektron jadval hujjati usullari mavjud:

  • kuyish (< ИмяФайла>, < ТипФайлаТаблицы >) faylga ma’lumotlarni yuklash;
  • O'qing (< ИмяФайла>, < СпособЧтенияЗначений >) fayldan ma'lumotlarni yuklash uchun.

Diqqat!

Write() usuli mijozda ham, serverda ham mavjud. Read() usuli faqat server tomonida mavjud. Buni eslash kerak
mijoz va server o'zaro ta'sirini rejalashtirishda.

Elektron jadval hujjatini faylga saqlash misolini ko'rib chiqing. TableDocument ob'ektini istalgan usulda yaratish va to'ldirish kerak va tushirish fayl faqat bitta qator bilan amalga oshiriladi:

TabDoc . Write(FilePath, SpreadsheetDocumentFileType.XLSX);

Bu yerda TabDoc- yaratilgan elektron jadval, Faylga yo'l- yuklanadigan fayl nomi, SpreadsheetDocumentFileType.XLSX— yaratilgan fayl formati. Quyidagi Excel formatlari qo'llab-quvvatlanadi:

  • XLS95 - Excel 95 formati;
  • XLS97 - Excel 97 formati;
  • XLSX Excel 2007 formatidir.

TabDoc = Yangi elektron jadval hujjati;
TabDoc . Read(PathToFile, WayToReadSpreadsheetDocumentValues.Value));

Bu yerda Faylga yo'l- Yuklab olingan Excel fayliga yo'l. WayToReadValuesSpreadDocument.Value dastlabki hujjatdan o'qilgan ma'lumotlarni qanday izohlashni belgilaydi. Mavjud variantlar:

  • Ma'nosi;
  • Matn.

OLE orqali almashish

OLE avtomatlashtirish texnologiyasi orqali almashish, ehtimol, dasturiy jihatdan ishlashning eng keng tarqalgan usulidir Excel fayllari. Bu Excel tomonidan taqdim etilgan barcha funksiyalardan foydalanishga imkon beradi, lekin boshqa usullarga qaraganda sekinroq. OLE orqali almashish uchun MS Excel o'rnatilishi kerak:

  • Yakuniy foydalanuvchining kompyuterida, agar almashinuv mijoz tomonidan amalga oshirilsa;
  • 1C: Enterprise server kompyuterida, agar almashinuv server tomonida amalga oshirilsa.

Misol tushirish:

// COM ob'ektini yarating
Excel = Yangi COMObject("Excel.Application");
// Ogohlantirishlar va savollarni o'chirib qo'ying
Excel . displayalerts = noto'g'ri;
// Yangi kitob yarating
Kitob = Excel. ish kitoblari. qo'shish ();
// Birinchi varaqda joylashtirish
Varaq = Kitob. Ishchi varaqlar(1);

// Yacheykaga qiymat yozish
Varaq . Hujayralar (qator raqami, ustun raqami). Qiymat = CellValue;

// Faylni saqlang
Kitob . SaveAs (Fayl nomi);


Excel . Chiqish();
Excel = 0;

Misollar o'qish:

// -- 1-VARIANT --

// COM ob'ektini yarating
Excel = Yangi COMObject("Excel.Application");
// Ochiq kitob
Kitob = Excel. ish kitoblari. Ochiq( Faylga yo'l);

Varaq = Kitob. Ishchi varaqlar(1);

// Kitobni yoping
Kitob . Yopish (0);

// Excelni yoping va xotirani bo'shating
Excel . Chiqish();
Excel = 0;

// —— 2-VARIANT ——

// Ochiq kitob
Kitob = GetCOMObject( Faylga yo'l);
// Kerakli varaqda joylashtirish
Varaq = Kitob. Ishchi varaqlar(1);

// Yacheykaning qiymatini o'qing, bu odatda hujayrani aylanib o'tish davri joylashgan joy
CellValue = varaq. Hujayralar (qator raqami, ustun raqami). qiymat;

// Kitobni yoping
Kitob . ilova. Qui t();

Uchun chetlab o'tish Excel varag'ining barcha to'ldirilgan qatorlari uchun siz quyidagi fokuslardan foydalanishingiz mumkin:

// -- 1-VARIANT --
Qatorlar soni = varaq. Hujayralar (1 , 1 ). Maxsus hujayralar (11 ). Qator;
Qator raqami uchun = 1 qatorlar soni bo'yicha tsikl
CellValue = varaq. Hujayralar (qator raqami, ustun raqami). qiymat;
EndCycle;

// —— 2-VARIANT ——
LineNumber = 0;
While True Loop
LineNumber = LineNumber + 1;
CellValue = varaq. Hujayralar (qator raqami, ustun raqami). qiymat;
Agar ValueFilled EMAS (CellValue) Keyin
bekor qilish;
EndIf;
EndCycle;

Varaqning barcha satrlarini ketma-ket bosib o'tish o'rniga, mumkin barcha ma'lumotlarni massivga tashlash va u bilan ishlash. Ushbu yondashuv katta hajmdagi ma'lumotlarni o'qishda tezroq bo'ladi:

Jami ustunlar = varaq. Hujayralar (1 , 1 ). Maxsus hujayralar (11 ). Ustun;
Jami qatorlar = varaq. Hujayralar (1 , 1 ). Maxsus hujayralar (11 ). Qator;

Mintaqa = varaq. Diapazon(Varaq. Yacheykalar(1 , 1 ), Roʻyxat. Yacheykalar(TotalRows, TotalColumns));
Ma'lumotlar = Hudud. qiymat. tushirish();

Quyidagi jadvalda OLE orqali Excel bilan ishlash uchun eng ko'p talab qilinadigan xususiyatlar va usullar ro'yxati keltirilgan:

Harakat Kod Izoh
Ilova bilan ishlash
Ilova oynasi ko'rinishini sozlash Excel . ko'rinadigan= noto'g'ri;
Ogohlantirishni ko'rsatish rejimini sozlash (ko'rsatish/ko'rsatmaslik) Excel . Ogohlantirishlarni ko'rsatish= noto'g'ri;
Ilovani yopish Excel . Chiqish();
Kitob bilan ishlash
Yangi kitob yarating Kitob = Excel. ish kitoblari. Qo'shish();
Mavjud ish kitobini ochish Kitob = Excel. ish kitoblari. Ochish (Fayl nomi);
Kitobni saqlash Kitob . SaveAs (Fayl nomi);
kitobni yopish Kitob . Yopish (0);
Bir varaq bilan ishlash
Joriy varaqni sozlash Varaq = Kitob. Ish varaqlari (SheetNumber);
Nom sozlamalari Varaq . Ism = Ism;
Himoyani sozlash Varaq . Himoya qilish();
Himoyani olib tashlash Varaq . Himoyani olib tashlash();
Sahifa yo'nalishini o'rnatish Varaq . Sahifa sozlamalari. Orientatsiya = 2; 1 - portret, 2 - landshaft
Chap chegarani o'rnatish Varaq . Sahifa sozlamalari. LeftMargin = Excel. SantimetreToPoints(Santimetr);
Yuqori chegarani o'rnatish Varaq . Sahifa sozlamalari. TopMargin = Excel. SantimetreToPoints(Santimetr);
To'g'ri chegarani o'rnatish Varaq . Sahifa sozlamalari. RightMargin = Excel. SantimetreToPoints(Santimetr);
Pastki chegarani o'rnatish Varaq . Sahifa sozlamalari. BottomMargin = Excel. SantimetreToPoints(Santimetr);
Satrlar, ustunlar, katakchalar bilan ishlash
Ustun kengligini o'rnatish Varaq . Ustunlar (ustun raqami). ColumnWidth = Kenglik;
Chiziqni olib tashlash Varaq . Qatorlar (Qator raqami). Oʻchirish();
Ustunni o'chirish Varaq . Ustunlar (ustun raqami). o'chirish ();
Hujayra o'chirilmoqda Varaq . Hujayralar (qator raqami, ustun raqami). Oʻchirish();
Qiymat belgilash Varaq . Hujayralar (qator raqami, ustun raqami). Qiymat = Qiymat;
Hujayralarni birlashtirish Varaq . Diapazon(Varaq. Hujayralar(Qator raqami, Ustun raqami), varaq. Yacheykalar(1-qator raqami, 1-ustun raqami)). Birlashtirish();
Shriftni o'rnatish Varaq . Hujayralar (qator raqami, ustun raqami). Shrift. Ism = Shrift nomi;
Shrift o'lchamini o'rnatish Varaq . Hujayralar (qator raqami, ustun raqami). Shrift. Hajmi = Shrift hajmi;
Qalin shrift sozlamalari Varaq . Hujayralar (qator raqami, ustun raqami). Shrift. Qalin = 1 ; 1 - qalin, 0 - normal
Kursivni sozlash Varaq . Hujayralar (qator raqami, ustun raqami). Shrift. Kursiv = 1 ; 1 - kursiv, 0 - normal
Tagi chizilgan shriftni o'rnatish Varaq . Hujayralar (qator raqami, ustun raqami). Shrift. tagiga chizish = 2 ; 2 - tagiga chizilgan, 1 - yo'q

Qaysi xususiyatni o'zgartirish kerakligini yoki qaysi usulni chaqirish kerakligini bilish uchun siz foydalanishingiz mumkin makroslar Excel. Agar siz kerakli harakatlar bilan makrosni yozsangiz, u holda dastur kodini yozilgan makroning VBA-da ko'rishingiz mumkin.

COMSafeArray-dan foydalanish

1C dan Excelga katta hajmdagi ma'lumotlarni tushirishda siz tezlashtirish uchun ob'ektdan foydalanishingiz mumkin COMSafeArray. Sintaksis yordamchisi tomonidan aniqlanganidek, COMSafeArray ko'p o'lchovli massiv ustidagi ob'ektni o'rash vositasidir. SafeArray COMdan. COM ob'ektlari o'rtasida ma'lumot almashish uchun SafeArray yaratish va undan foydalanish imkonini beradi. Oddiy qilib aytganda, bu OLE texnologiyasidan foydalangan holda ilovalar o'rtasida almashish uchun ishlatilishi mumkin bo'lgan qiymatlar to'plami.

// COMSafeArray yarating
ArrayCom = Yangi COMSafeArray("VT_Variant", TotalColumns, TotalRows);
// COMSafeArray-ni to'ldiring
Uchun Str = 0 jami qatorlar - 1 tsikl
Uchun Hisob = 0 Jami ustunlar - 1 tsikl
ArrayCom . SetValue(Raqam, Str, Qiymat);
EndCycle;
EndCycle;
// COMSafeArray-dan Excel varaqlari maydoni qiymatlarini belgilash
Varaq . Diapazon(Varaq. Yacheykalar(1 , 1 ), Roʻyxat. Yacheykalar(TotalRows, TotalColumns)). Qiymat = ArrayCom;

ADO orqali almashish

Excel fayli, ADO orqali almashtirilganda, SQL so'rovlari yordamida kirish mumkin bo'lgan ma'lumotlar bazasi. MS Excel dasturini o'rnatish shart emas, lekin ODBC drayveri talab qilinadi, u orqali kirish amalga oshiriladi. Amaldagi ODBC drayveri faylga ulanish satrini belgilash orqali aniqlanadi. Odatda, kerakli drayver allaqachon kompyuterda o'rnatilgan.

ADO orqali almashish OLE orqali almashishdan sezilarli darajada tezroq, lekin tushirishda hujayralarni bezash, sahifalarni belgilash, formulalarni o'rnatish va hokazolar uchun Excel funksiyasidan foydalanishning hech qanday usuli yo'q.

Misol tushirish:


Ulanish = Yangi COMObject("ADODB.Connection");


Murakkab . ConnectionString="

|Ma'lumotlar manbasi=" + Fayl nomi + ";
;
Murakkab . ochiq(); // Ochiq ulanish

// Buyruq uchun COM ob'ektini yarating
Buyruq = Yangi COMObject("ADODB.Buyruq");
Jamoa

// Jadval yaratish uchun buyruq matnini tayinlash
Jamoa . buyruq matni = "JADVAL YORATISH [Vaq1] (1-ustun belgi(255), 2-ustun sanasi, 3-ustun int, 4-ustun float)";
Jamoa . bajarish (); // Buyruqning bajarilishi

// Jadval qatorini qo'shish uchun buyruq matnini belgilash
Jamoa . buyruq matni = "[Shaxs1] INSERT INTO (1-ustun, 2-ustun, 3-ustun, 4-ustun) qiymatlarini ('abvgdeo', '8/11/2017', '12345', '12345,6789')";
Command.Execute(); // Buyruqning bajarilishi

// Buyruqni o'chirish va ulanishni yopish
buyruq = aniqlanmagan;
Murakkab . yaqin();
Ulanish = Aniqlanmagan;

Yangi varaq yaratish va uning strukturasini shakllantirish uchun siz ob'ektlardan foydalanishingiz mumkin ADOX.Katalog va ADOX. Jadval. Bunday holda, kod quyidagicha ko'rinadi:

// Kitob bilan ishlash uchun MAQOMOTI ob'ektini yarating
Kitob = Yangi COMObject("ADOX.Catalog");
Kitob . ActiveConnection = Ulanish;

// Varaqdagi ma'lumotlar strukturasi bilan ishlash uchun MAQOMOTI ob'ektini yarating
Jadval = Yangi COMObject("ADOX.Table");
Jadval . Ism = "Shaxs 1";
Jadval . Ustunlar. Qo'shish ("1-ustun", 202);
Jadval . Ustunlar. Qo'shish ("2-ustun", 7);
Jadval . Ustunlar. Qo'shish ("3-ustun", 5);
Jadval . Ustunlar. Qo'shish ("4-ustun", 5);

// Kitobda tavsiflangan tuzilishga ega varaq yarating
Kitob . jadvallar. qo'shish (jadval);
jadval = aniqlanmagan;
kitob = aniqlanmagan;

Yuqoridagi misolda, usulda

Jadval . Ustunlar. Qo'shish(“1-ustun”, 202);

ikkinchi parametr ustun turini belgilaydi. Parametr ixtiyoriy, bu erda ustun turi qiymatlari mavjud:

  • 5-adDouble;
  • 6 - adCurrency;
  • 7 - qo'shilgan sana;
  • 11 - adBoolean;
  • 202 - adVarWChar;
  • 203-adLongVarWChar.

Misol o'qish:

// Ulanish uchun MAQOMOTI ob'ektini yarating
Ulanish = Yangi COMObject("ADODB.Connection");

// Ulanish qatorini o'rnating
Murakkab . ConnectionString="
|Provayder=Microsoft.ACE.OLEDB.12.0;
|Ma'lumotlar manbasi=" + Fayl nomi + ";
|Kengaytirilgan xususiyatlar=""Excel 12.0 XML;HDR=HA"";";
Murakkab . ochiq(); // Ochiq ulanish

// Tanlovni qabul qilish uchun MAQOMOTI ob'ektini yarating
Tanlash = Yangi COMObject("ADODB.Recordset");
RequestText = “[Sheet1$] dan * TANLANG”;

// so'rovni bajaring
Namuna . Ochish (QueryText, Connection);

// Tanlov natijasini chetlab o'tish
Namuna olinmaganda. EOF() tsikli
ColumnValue1 = Tanlash. dalalar. Element (“1-ustun”). qiymat ; // Ustun nomi bo'yicha havola
2-ustun qiymati = tanlash. dalalar. Ob'ekt (0). qiymat; // Ustun indeksi bo'yicha olish
Namuna . MoveNext();
EndCycle;

Namuna . yaqin();
Namuna = aniqlanmagan;
Murakkab . yaqin();
Ulanish = aniqlanmagan;

Ulanish satrida parametr HDR varaqdagi birinchi qator qanday qabul qilinishini belgilaydi. Mumkin variantlar:

  • HA - birinchi qator ustunlar nomlari sifatida qabul qilinadi. Qiymatlarga nom va ustun indeksi bo'yicha kirish mumkin.
  • YO'Q - birinchi qator ma'lumotlar sifatida olinadi. Qiymatlarga faqat ustun indeksi orqali kirish mumkin.

Berilgan misollarda faqat bir nechta ADO ob'ektlari ko'rib chiqiladi. ADO ob'ekt modeli quyidagi ob'ektlardan iborat:

  • ulanish;
  • buyruq;
  • rekordlar to'plami;
  • qayd etish;
  • dalalar;
  • Oqim;
  • xatolar;
  • parametrlar;
  • xususiyatlari.

Dasturlashsiz yuklash

1C dan Excelga ma'lumotlarni saqlash uchun har doim ham dasturlashga murojaat qilish tavsiya etilmaydi. Agar korporativ rejimda foydalanuvchi yuklash uchun zarur bo'lgan ma'lumotlarni ko'rsata olsa, ularni dasturlashsiz Excelda saqlash mumkin.

Elektron jadval hujjatini (masalan, hisobot natijasi) saqlash uchun siz buyruqni chaqirishingiz mumkin Saqlash yoki Sifatida saqlash… Asosiy menyu.

Ochilgan oynada siz saqlangan faylning katalogini, nomini va formatini tanlashingiz kerak.

Ma'lumotlarni saqlash uchun dinamik ro'yxatlar(masalan, elementlar ro'yxati) siz:

  1. Buyruq yordamida ma'lumotlarni elektron jadvalga chiqarish Batafsil ⇒ Roʻyxatni koʻrsatish...;
  2. Elektron jadval hujjatini kerakli formatda saqlang.