როგორ შევქმნათ xml ფაილი Excel-დან. შექმენით და შეცვალეთ XML ფაილი Excel-ში

Შენიშვნა:ეს სტატია ემსახურებოდა თავის მიზანს და მალე შეწყდება. „გვერდი ვერ მოიძებნა“ შეცდომების თავიდან ასაცილებლად, ჩვენ ვშლით ბმულებს, რომლებიც ვიცით. თუ თქვენ შექმენით ამ გვერდის ბმულები, გთხოვთ, წაშალოთ ისინი და ერთად შევინარჩუნოთ თანმიმდევრულობა ინტერნეტში.

თუ თქვენ გჭირდებათ შექმნათ XML მონაცემთა ფაილი და XML სქემის ფაილი სამუშაო ფურცლის უჯრედების დიაპაზონიდან, შეგიძლიათ გამოიყენოთ XML Tools-ის 1.1 ვერსია Excel 2003-ის დანამატისთვის, რათა გააფართოვოთ არსებული XML შესაძლებლობები Microsoft Excel 2007-ში და შემდეგში. ვერსიები.

Შენიშვნა:ეს დანამატი შეიქმნა Excel 2003-ისთვის. დოკუმენტაცია და მომხმარებლის ინტერფეისი ეხება სიებს, რომლებსაც Excel 2003-ზე გვიან აპლიკაციის ვერსიებში უწოდებენ Excel ცხრილებს.

ამ დანამატთან მუშაობის შესახებ დამატებითი ინფორმაციისთვის იხილეთ XML Tools-ის დანამატის 1.1-ის გამოყენება Excel 2003-ისთვის.

ნაბიჯი 2: გადაიყვანეთ უჯრედების დიაპაზონი XML ცხრილად

    შეიყვანეთ მონაცემები, რომლებისთვისაც გსურთ შექმნათ XML მონაცემთა ფაილი და XML სქემის ფაილი. მონაცემები უნდა იყოს წარმოდგენილი ცხრილის ფორმატში, სვეტებისა და რიგების სახით (ე.წ. ჩვეულებრივი მონაცემები).

    ჩანართზე დანამატებიჯგუფში მენიუს ბრძანებებიდააწკაპუნეთ ისარს წარწერის გვერდით XML ინსტრუმენტებიდა დააჭირეთ ღილაკს დიაპაზონის გადაქცევა XML სიაში.

    ტექსტის ველში შეიყვანეთ უჯრედების დიაპაზონი იმ მონაცემებით, რომელთა გარდაქმნაც გსურთ აბსოლუტურ მითითებად.

    მინდორში პირველი ხაზი შეიცავს სვეტების სახელებსაირჩიეთ არა, თუ პირველი რიგი შეიცავს მონაცემებს, ან დიახთუ პირველი რიგი შეიცავს სვეტის სათაურებს და დააწკაპუნეთ კარგი.

    Excel ავტომატურად შექმნის XML სქემას, დააკავშირებს უჯრედებს სქემას და შექმნის XML ცხრილს.

    Მნიშვნელოვანი:თუ Visual Basic Editor იხსნება და ნახავთ Visual Basic for Applications (VBA) შეცდომის შეტყობინებას, მიჰყევით ამ ნაბიჯებს:

    1. დააჭირეთ ღილაკს კარგი.

      VBA კოდის მოდულის მონიშნულ ხაზში ამოიღეთ ხაზიდან "50". სხვა სიტყვებით რომ ვთქვათ, შეცვალეთ:
      XMLDoc როგორც MSXML2 . DOMDocument50
      Ვის:
      XMLDoc როგორც Msxml2. Domdocument

      დააჭირეთ F5, რათა მოძებნოთ შემდეგი ხაზი, რომელიც შეიცავს ტექსტს "XMLDoc As msxml2.DOMDocument50", დააწკაპუნეთ კარგიდა შეცვალეთ ხაზი, როგორც წინა აბზაცში.

      კვლავ დააჭირეთ F5, რათა იპოვოთ და შეცვალოთ ხაზის სხვა შემთხვევები.

      თუ F5-ის დაჭერის შემდეგ ვეღარ ხედავთ VBA შეცდომის შეტყობინებას, დახურეთ Visual Basic რედაქტორი სამუშაო წიგნში დასაბრუნებლად. უჯრედების დიაპაზონი გადაიქცევა XML ცხრილად.

      Შენიშვნა:ყველა XML რუკის ჩვენება სამუშაო წიგნში, ჩანართში დეველოპერიჯგუფში XMLდააჭირეთ ღილაკს წყარო XML Source ამოცანების პანელის საჩვენებლად. XML Source ამოცანების პანელის ბოლოში დააწკაპუნეთ XML რუკები.

      თუ ჩანართი დეველოპერიარ ჩანს, მიჰყევით პირველ სამ ნაბიჯს შემდეგ განყოფილებაში, რომ დაამატოთ ის Excel ლენტზე.

ნაბიჯი 3: XML ცხრილის ექსპორტი XML მონაცემთა ფაილში (XML).

Შენიშვნა: XML რუკების შექმნისას და მონაცემთა ექსპორტის Excel-ში XML ფაილებში, არსებობს ლიმიტი იმ მწკრივების რაოდენობაზე, რომლებიც შეიძლება ექსპორტირებული იყოს. Excel-დან XML ფაილზე ექსპორტის დროს შეგიძლიათ შეინახოთ 65536 სტრიქონი. თუ ფაილი შეიცავს 65,536 მწკრივზე მეტს, Excel შეძლებს მხოლოდ პირველი რიგების ექსპორტს (სტრიქონების რაოდენობა mod 65,537). მაგალითად, თუ სამუშაო ფურცელი შეიცავს 70,000 სტრიქონს, Excel ექსპორტს ახორციელებს 4,464 მწკრივის (70,000 mod 65,537). ჩვენ გირჩევთ გაითვალისწინოთ ერთ-ერთი შემდეგი რჩევა: 1) გამოიყენოთ XLSX ფორმატი; 2) შეინახეთ ფაილი "XML 2003 Table (*.xml)" ფორმატში (ეს დაკარგავს რუკებს); 3) წაშალეთ ყველა სტრიქონი 65536-ის შემდეგ და შემდეგ ისევ ექსპორტი (ეს შეინარჩუნებს რუკებს, მაგრამ დაკარგავს ხაზებს ფაილის ბოლოს).

ნაბიჯი 4: შეინახეთ XML სქემა XML Schema (XSD) ფაილში

Შენიშვნა:ეს გვერდი ავტომატურად ითარგმნა და შეიძლება შეიცავდეს უზუსტობებს და გრამატიკულ შეცდომებს. ჩვენთვის მნიშვნელოვანია, რომ ეს სტატია თქვენთვის სასარგებლო იყოს. იყო თუ არა ინფორმაცია სასარგებლო? მოხერხებულობისთვის ასევე (ინგლისურად).

თუ თქვენ მუშაობთ ლოკალურ კომპიუტერზე, მაშინ Microsoft Office-ში შექმნილი დოკუმენტი ნაგულისხმევად ინახება ორობით ფორმატში გაფართოებით .doc, .xls, .ppt და ა.შ., იმისდა მიხედვით, თუ რომელ აპლიკაციაში შეიქმნა. შეგიძლიათ შეინახოთ Word დოკუმენტი ფორმატში HTML(ჰიპერტექსტის მარკირების ენა) და XML (გაფართოებადი მარკირების ენა- გაფართოებადი მარკირების ენა) და გამოაქვეყნეთ იგი კორპორატიულ ქსელში ან ინტერნეტში მენიუდან არჩევით ფაილიგუნდი შენახვა როგორც ვებ გვერდი(შენახვა როგორც ვებ გვერდი). ველი Ფაილის ტიპი(Save as type) დიალოგური ფანჯრის ბრძანება ფაილის შესანახად ისეთ ფორმატებში, როგორიცაა: Ვებ გვერდი(Ვებ გვერდი) ვებ გვერდი ფილტრით(ვებ გვერდი, გაფილტრული) და ვებ არქივი(ვებ არქივი). ფორმატი Ვებ გვერდი(ვებ გვერდი) ინარჩუნებს დოკუმენტის რედაქტირების ყველა შესაძლებლობას HTML ფორმატში. ფორმატი ვებ გვერდი ფილტრით(ვებ გვერდი, გაფილტრული) შლის HTML კოდის ნაწილს და ამცირებს ფაილის ზომას. ვებ არქივის (ერთი ფაილის ვებ გვერდი) ფორმატი საშუალებას გაძლევთ გაგზავნოთ შინაარსი (ტექსტი და გრაფიკა) ერთ *.mht, *.mhtml ფაილში.

რომელიმე ზემოთ ჩამოთვლილი ფორმატის გამოყენებისას, ფორმატირების ყველა ვარიანტი ინახება თითოეულ დოკუმენტში. მომხმარებლებს კორპორატიულ ქსელში ან ინტერნეტში, რომლებსაც არ აქვთ დაინსტალირებული Microsoft Office კომპიუტერებზე, შეუძლიათ ნახონ HTML ან XML ფორმატში შენახული ფაილები ბრაუზერში ან ინტერნეტის დათვალიერების სხვა პროგრამაში.

Office უზრუნველყოფს ბრაუზერის ფანჯარაში ფორმატირებული დოკუმენტის მაღალი სიზუსტით გადმოცემას, რომელიც ზუსტად ისე გამოიყურება, როგორც აპლიკაციის ფანჯარაში. შენახულია დიაგრამებისა და ნახატების პარამეტრები, როგორიცაა ფერები და ხაზის მახასიათებლები. ახალბედა მომხმარებელს, რომელმაც არ იცის პროგრამირება, შეუძლია შექმნას ვებ გვერდი Office 2003-ში და გამოაქვეყნოს იგი ვებ სერვერზე დოკუმენტის ხარისხისა და ფუნქციონირების დაკარგვის გარეშე. HTML და XML კოდირების ავტომატური აღმოჩენა საშუალებას გაძლევთ იხილოთ სწორი სიმბოლოები ნებისმიერ ენობრივ გარემოში.

HTML ფორმატში ფაილების შენახვის მახასიათებლები

არსებობს სტატიკური და დინამიური HTML ფორმატები. სტატიკური ფორმატი გამოიყენება იმ შემთხვევებში, როდესაც მონაცემები იცვლება იშვიათად, დინამიური - როდესაც აუცილებელია უახლესი მონაცემების ჩვენება გამოქვეყნების დროს. გაითვალისწინეთ, რომ Access 2002 უკვე მხარს უჭერდა ობიექტების ორ დინამიურ HTML ფორმატად გადაქცევას: ASP ( აქტიური სერვერის გვერდები) და IDC/HTX. asp გაფართოებით ფაილი გამოიყენება დინამიური ვებ გვერდებისთვის, idc გაფართოებით შეიცავს შეკითხვას SQL განცხადების სახით, ხოლო htx გაფართოებით შეიცავს ბრძანებებს და ფორმატირების ინსტრუქციებს. htx გაფართოებით ფაილებში მონაცემების ნაცვლად. მოყვება შაბლონები, რომლებიც მიუთითებენ, სად უნდა ჩასვათ მონაცემები მოთხოვნიდან ფაილში .idc გაფართოებით.

როდესაც თქვენ შეინახავთ დოკუმენტს HTML ფორმატში, Office 2003 ქმნის ერთ HTML ფაილს (მაგალითად, otchet.htm) და საქაღალდეს იმავე სახელით, რომელიც მოიცავს დოკუმენტის ყველა დამხმარე ფაილს და მთავარ საკონტროლო ფაილს მითითებულ დირექტორიაში. თითოეული ფიგურა, ცხრილი, პრეზენტაციის სლაიდი და დამხმარე მონაცემების ნაკრები მოთავსებულია ცალკე ფაილში. ყველა გრაფიკული სურათი ავტომატურად გარდაიქმნება .GIF, JPG, JPEG ან .PNG ფორმატში, შინაარსიდან გამომდინარე. მაგალითად, ხაზის ხელოვნება ინახება GIF ფორმატში, ხოლო ფოტოები ინახება JPEG-ში. ასეთი დოკუმენტების გადატანისას თქვენ უნდა დააკოპიროთ როგორც ძირითადი HTML ფაილი, ასევე დამხმარე ფაილების საქაღალდე. (დამატებითი ინფორმაციისთვის იხილეთ ქვემოთ მოცემული განყოფილება "ფაილის ტიპები, რომლებიც გამოიყენება ვებ გვერდზე სურათებისა და გრაფიკის საჩვენებლად".)

იმისათვის, რომ გაადვილდეს არარასტრული გრაფიკის რედაქტირება შესაბამისი პროგრამებით, Office 2003 დოკუმენტის HTML-ში გადაქცევისას, გრაფიკა ინახება როგორც მშობლიურ, ასევე ბრაუზერის ფორმატში.

მაგალითად, აი, როგორ გადაიყვანოთ Access მონაცემთა ბაზის ობიექტი დინამიურ HTML-ში:

  1. ფანჯარაში Მონაცემთა ბაზა(მონაცემთა ბაზა) აირჩიეთ საჭირო ობიექტი მაუსის დაწკაპუნებით და აირჩიეთ მენიუდან ფაილი(ფაილი) ბრძანება ექსპორტი(ექსპორტი).
  2. დიალოგურ ფანჯარაში ობიექტის ექსპორტი(Export To) სფეროში Ფაილის ტიპი(შენახვა როგორც ტიპი) აირჩიეთ ხაზი Microsoft IIS 1-2 ან Microsoft ASP Pages (Microsoft Active Server Pages).
  3. აირჩიეთ საქაღალდე, რომელშიც შეინახება ექსპორტირებული ფაილი და ველში შეიყვანეთ ფაილის სახელი ლათინური ასოებით Ფაილის სახელი(Ფაილის სახელი).
  4. დააჭირეთ ღილაკს ექსპორტი(ექსპორტი).
  5. თუ იყენებთ აქტიური სერვერის გვერდების ფორმატს, გამოჩნდება დიალოგური ფანჯარა. ASP ფაილის გამოყვანის მორგება(Microsoft Active Server Pages Output Options), რომელშიც მიუთითეთ ODBC მონაცემთა წყაროს სახელი. ის გამოყენებული იქნება ვებ სერვერზე მონაცემების წვდომისთვის. შეიყვანეთ სერვერის მისამართი, სადაც განთავსდება ASP ფაილი.

ძვირფასი ნივთების გამოყენება XML ფორმატში

Office 2003 მხარს უჭერს XML ( გაფართოებადი მარკირების ენა- გაფართოებადი მარკირების ენა). ეს ენა უზრუნველყოფს ინტუიციურ, მძლავრ თანამშრომლობის ინსტრუმენტებს და ფართოდ გამოიყენება ინტერნეტში ინფორმაციის გაცვლისთვის, მიუხედავად გამოყენებული პლატფორმისა თუ მონაცემთა ფორმატისა. XML ფორმატი შეიქმნა HTML-დან, როგორც კორპორატიულ ქსელებში და ინტერნეტში მონაცემების უნივერსალური წარმოდგენის ფორმატი. მას უფრო მეტი ფუნქცია აქვს ვიდრე HTML. ნებისმიერი Office დოკუმენტი შეიძლება წარმოდგენილი იყოს ამ ფორმატში.

XML აადვილებს Office 2003 დოკუმენტებიდან მონაცემების სხვა XML აპლიკაციებში მოძიებას. თქვენ შეგიძლიათ გამოყოთ დოკუმენტის შინაარსი და მისი ორობითი ფორმატის საზღვრები. კონტენტი ხელმისაწვდომი ხდება მონაცემთა ავტომატური შეგროვებისა და ანალიზისთვის შემდგომი კორექტირებით. XML დოკუმენტი შეიძლება შედგებოდეს სხვადასხვა ტიპის რამდენიმე ფაილისგან, მაგალითად, მონაცემთა შემცველი XML ფაილისაგან; ASP ფაილი, რომელიც შეიცავს ვებ გვერდს დოკუმენტის სანახავად; xsd ფაილი, რომელიც შეიცავს მონაცემთა სტრუქტურის აღწერას და ა.შ. ერთი დოკუმენტის ნახვა შესაძლებელია Internet Explorer 5 და უფრო მაღალ ვერსიაში. HTML ფაილი შეიცავს სკრიპტს, რომელიც ატვირთავს მონაცემებს XML წყაროდან.

ზოგადი HTML ტეგებისგან განსხვავებით, XML ტეგები შეიძლება შეიცვალოს დეველოპერების მიერ და, შესაბამისად, უნდა გადაეცეს პროგრამას, რომელიც იყენებს მათ. Microsoft აპირებს გამოიყენოს XML ფორმები ექსკლუზიურად საწარმოს ბაზარზე. იმის გამო, რომ ზოგიერთი ბრაუზერი არ ამუშავებს XML-ს, Word იძლევა შესაძლებლობას შეინახოს დოკუმენტი გაფილტრული ვებგვერდის სახით XML ტეგების გამოყენების გარეშე. მენიუში ამ ფუნქციის გამოსაყენებლად სერვისი(ინსტრუმენტები) აირჩიეთ ბრძანება Პარამეტრები(პარამეტრები) და შემდეგ გახსენით ჩანართი Საერთოა(ზოგადი), დააჭირეთ ღილაკს ვებ დოკუმენტის პარამეტრები(ვებ ოფციები) და გადადით ჩანართზე რეცენზენტები(ბრაუზერები), აირჩიეთ ან გაასუფთავეთ ამ ბრაუზერის მიერ არ მხარდაჭერილი კომპონენტების გამორთვა. XML ტეგების კოლექციას, რომელიც განსაზღვრავს დოკუმენტის ელემენტებს, ეწოდება სქემა ( სქემა).

Word 2003-ში XML ფაილების შენახვა და გახსნა შეიძლება გამოყენებულ იქნას თქვენი კომპანიის ძირითად ბიზნეს მონაცემებთან ინტეგრირებისთვის. Excel გრაფიკული დამაკავშირებელი ინსტრუმენტი აკავშირებს მომხმარებლის მიერ განსაზღვრულ XML სქემას Excel ცხრილის უჯრედებთან.

ელექტრონული დოკუმენტების მართვის სისტემის შემუშავებისას საჭირო იყო მონაცემთა პოპულარულ ფორმატებში ექსპორტის ფუნქციების განხორციელება. კერძოდ, Microsoft Excel ფორმატში. ექსპორტის მოთხოვნები საკმაოდ მარტივი იყო - მონაცემების ექსპორტი მინიმალური ფორმატით, ე.ი. არ არის გაერთიანებული უჯრედები, ფონტებთან თამაში და ა.შ. XLSX და Excel XML ფორმატების ექსპორტი.

ამ შემთხვევაში მე გეტყვით Excel XML-ის შესახებ.

ასე რომ, ნებისმიერ სისტემაში, რომელიც მუშაობს ცხრილის მონაცემებზე, ადრე თუ გვიან ჩნდება მონაცემების ექსპორტის საჭიროება. ექსპორტის მიზნები განსხვავებულია:

კლასში უჯრედების და სერიების მნიშვნელობების ჩასაწერად ფუნქციების კომპლექტის განხორციელება არის მთავარი მოთხოვნა, რაც გულისხმობს ფუნქციების შექმნას მითითებული ტიპის უჯრედების მნიშვნელობების ჩასაწერად და მზა სერიების ჩაწერის შესაძლებლობას. ფაილი.

შეუზღუდავი რაოდენობის მონაცემებთან მუშაობის შესაძლებლობა - რა თქმა უნდა, ექსპორტის კლასი თავად ვერ იქნება პასუხისმგებელი ჩაწერილი მოცულობაზე, მაგრამ მან უნდა უზრუნველყოს დისკზე მონაცემების ჩაწერის ფუნქციები და RAM-ის გათავისუფლება შემდეგი ნაწილისთვის. მონაცემები.

აღწერილი მოთხოვნების გარდა, საჭირო იყო სერვისის ფუნქციების დამატება:

  • ავტომატური ფილტრის ჩართვა
  • შეკუმშოს ფაილი zip-ში.

განხორციელება

პირველ რიგში, კლასის შექმნისას ვამოწმებ ფაილის საბოლოო სახელს და ვითხოვ სვეტების და რიგების რაოდენობას. ფაილს უნდა ჰქონდეს სწორი სახელი და საქაღალდე, რომელშიც ის შეინახება, უნდა არსებობდეს. ყველაფერი როგორც ყოველთვის.
Excel XML ფორმატი საშუალებას გაძლევთ შეინახოთ ინფორმაცია ფაილში მომხმარებლის შესახებ, რომელმაც შექმნა იგი, ამიტომ, სათაურის შექმნისას, ვწერ ორგანიზაციის სახელს, ინფორმაციას მომხმარებლის შესახებ და ფაილის შექმნის თარიღს.

საჯარო ფუნქცია writeDocumentProperties($organization = null, $user = null) ( fwrite($this->file, " "); თუ (!is_null($user)) (fwrite($this->ფაილი, " ".$user->description.""); fwrite($this->ფაილი, " ".$user->description.""); ) $dt = ახალი თარიღის დრო(); $dt_string = $dt->ფორმატი ("Y-m-d\TH:i:s\Z"); fwrite($this->ფაილი, " ".$dt_string.""); fwrite($this->ფაილი, " ".$dt_string.""); if (!is_null($organization)) fwrite($this->ფაილი, " ".$organization->name.""); fwrite($this->ფაილი, " 12.00"); fwrite($this->ფაილი, ""); }
მართალია, ამ ფუნქციაში გამოიყენება დოკუმენტების მართვის სისტემის სუბიექტები - ორგანიზაცია (ორგანიზაცია) და მომხმარებელი (მომხმარებელი). ამ ერთეულების, ვთქვათ, სიმებიანი მნიშვნელობებით ჩანაცვლება პრობლემა არ არის.

სათაურის ყველაზე საინტერესო ნაწილი არის სტილის ინფორმაცია. ისინი ძალიან მოხერხებულად არის დანერგილი Excel XML ფორმატში, ამიტომ მე უბრალოდ ვქმნი ცხრილს სტილებით, თარიღი/დრო და ჰიპერბმულები.

საჯარო ფუნქცია writeStyles() ( fwrite($this->file, ""); //default style fwrite($this->file, ""); //Datetime style fwrite($this->file, ""); fwrite($this->ფაილი, ""); fwrite($this->ფაილი, ""); //ჰიპერბმულის სტილი fwrite($this->ფაილი, ""); //სქელი fwrite($this->ფაილი, ""); fwrite($this->ფაილი, ""); }

მოსამზადებელი სამუშაოების დასრულების შემდეგ, შეგიძლიათ გააგრძელოთ მონაცემების ჩაწერა. სამუშაო ფურცლის გახსნა მხოლოდ რამდენიმე ტეგია, მხოლოდ ამ მომენტში გამოიყენება ინფორმაცია სვეტებისა და რიგების რაოდენობის შესახებ.

საჯარო ფუნქცია openWorksheet() ( fwrite($this->file, " "); fwrite($this->ფაილი, strtr("

", array("(col_count)"=>$this->colCount, "(row_count)"=>$this->rowCount)));
მაგრამ რიგების ჩაწერა უფრო საინტერესო პროცესია. კლასმა უნდა იმუშაოს სწრაფად და დაამუშავოს შეუზღუდავი რაოდენობის მონაცემები, რადგან შეიძლება იყოს ასი ათასი ან თუნდაც მილიონი ჩანაწერი! თუ გსურთ სიჩქარე, იმუშავეთ მეხსიერებასთან, თუ გსურთ შეუზღუდავი მონაცემები, იმუშავეთ დისკზე. მოთხოვნების შესაჯერებლად, მე განვახორციელე resetRow და flushRow ფუნქციები.
პირველი ასუფთავებს მიმდინარე რიგს, რის შემდეგაც ის შეიძლება ისევ შეივსოს მონაცემებით, ხოლო მეორე წერს მიმდინარე მწკრივს ღია ფაილზე დისკზე. მათი ერთად გამოყენება საშუალებას გაძლევთ შეინარჩუნოთ ბალანსი სიჩქარესა და გამოყენებული მეხსიერების რაოდენობას შორის.

საჯარო ფუნქცია resetRow() ( $this->currentRow = array(); ) საჯარო ფუნქცია flushRow() ( fwrite($this->file, implode("", $this->currentRow)); unset($this-> მიმდინარე მწკრივი);)
თითოეული უჯრედი იწერება მონაცემთა ტიპის შესაბამისი ფუნქციით, კერძოდ appendCellxxx, სადაც xxx არის მონაცემთა ტიპი. მონაცემთა სწორი ტიპები: Num, String, Real, DateTime, Date, Time, Link. რიცხვითი მნიშვნელობის ჩაწერის ფუნქციის მაგალითი:

საჯარო ფუნქცია appendCellNum($value) ($this->currentRow = " ".$value.""; }
ყველა მონაცემის ჩაწერის შემდეგ, რჩება მხოლოდ სამუშაო ფურცლისა და სამუშაო წიგნის დახურვა.

განაცხადი

აღწერილი კლასის გამოყენება ეფუძნება მონაცემთა ექსპორტს CArrayDataProvider პროვაიდერის გამოყენებით. თუმცა, თუ ვივარაუდებთ, რომ ექსპორტირებული მონაცემების მოცულობა შეიძლება იყოს ძალიან დიდი, გამოიყენება სპეციალური iterator CDataProviderIterator, რომელიც იმეორებს დაბრუნებულ მონაცემებს 100 ჩანაწერით (შეგიძლიათ მიუთითოთ ჩანაწერების განსხვავებული რაოდენობა).

საჯარო ფუნქცია exportExcelXML($organization, $user, &$filename) ($this->_provider = new CArrayDataProvider(/*query*/); Yii::import("ext.AlxdExportExcelXML.AlxdExportExcelXML"); ($filename, count($this->_attributes), $this->_provider->getTotalItemCount() + 1); $export->openWriter(); $export->openWorkbook(); $export->writeDocumentProperties($ ორგანიზაცია, $user); $export->writeStyles(); $export->openWorksheet(); //სათაურის მწკრივი $export->resetRow(); $export->openRow(true); foreach ($this->_attributes როგორც $code => $format) $export->appendCellString($this->_objectref->getAttributeLabel($code)); $export->closeRow(); $export->flushRow(); //მონაცემთა რიგები $ რიგები = ახალი CDataProviderIterator($this->_provider, 100); foreach ($ რიგები $row) ($export->resetRow(); $export->openRow(); foreach ($this->_ატრიბუტები როგორც $code => $format) ( შეცვლა ($format->type) ( case "Num": $export->appendCellNum($row[$code]); /*სხვა ტიპები*/ ნაგულისხმევი: $export->appendCellString(""); ) ) $export->closeRow(); $export->flushRow(); ) //დახურე ყველა $export->closeWorksheet(); $export->closeWorkbook(); $export->closeWriter(); //zip ფაილი $export->zip(); $filename = $export->getZipFullFileName(); )
ჩემს შემთხვევაში, თითოეული სტრიქონი იწერება დისკზე, რაც ამ დროისთვის საკმაოდ მისაღებია, მაგრამ შესაძლოა მომავალში ცვლილებები მოითხოვოს. მაგალითად, გონივრული იქნება არა ყველა მწკრივი, არამედ ყოველი ათი ან თუნდაც ასი მწკრივი ერთდროულად. შემდეგ ექსპორტის სიჩქარე გაიზრდება.

სიჩქარე

სხვათა შორის, საკუთარი გამოცდილებიდან გავიგე, რამდენად მნიშვნელოვანია ვივარაუდოთ მონაცემთა დიდი მოცულობის არსებობის შესაძლებლობა ისეთი სერიული ოპერაციის დროს, როგორიცაა ექსპორტი.
თავდაპირველად, მე ვცადე მონაცემების ექსპორტი CActiveDataProvider-ის გამოყენებით, რასაც დაახლოებით 240 წამი დასჭირდა 1000 ჩანაწერის ექსპორტის დროს! CArrayDataProvider-ის გამოსაყენებლად მოთხოვნის შეცვლამ შეამცირა 1000 ჩანაწერის ექსპორტის დრო 0,5 წამამდე!
ექსპორტის ინდიკატორები სპეციალურად ამ პუბლიკაციისთვის გავზომე.
ექსპორტირებული 1626 ჩანაწერები საწყისი 9 ატრიბუტები, რომლებიც წარმოადგენს ინფორმაციას დახურული ინციდენტების შესახებ (იხ. ITSM).
ექსპორტირებული ცხრილის საწყისი ხედი
შედეგი
(ბოდიში, სურათი ქრება გამოქვეყნების შემდეგ)
ექსპორტის მაჩვენებლები
ფაილის საბოლოო ზომა: 1 312 269
შეკუმშული ფაილის ზომა: 141 762
საჭირო დრო: დაახლ. 0.5 წმ

ნებისმიერ მსურველს შეუძლია მიიღოს ჩემი კლასის წყაროს კოდი უფასოდ. უბრალოდ დაიმახსოვრე ფუნქციის გამოსწორება writeDocumentPropertiesორგანიზაციისა და მომხმარებლის დოკუმენტების მართვის სისტემის ერთეულებთან კავშირის გაწყვეტა, ან შესაბამისი თვისებების მქონე საკუთარი მსგავსი ერთეულების გამოყენება.

XML-დან Excel-ში და პირიქით, მოდით უფრო ახლოს გადავხედოთ ამ ფაილების ტიპებს. აქვე დაუყოვნებლივ უნდა აღინიშნოს, რომ Excel დოკუმენტებს ბევრი ფორმატი აქვს, ხოლო XML არის ფაილის ფორმატი. ამიტომ, არ უნდა აურიოთ ეს ორი ცნება.

Microsoft Excel არის ძლიერი გაანგარიშების პროგრამა მრავალი სასარგებლო ფუნქციით

Microsoft Excel არის სპეციალური პროგრამა, რომელიც შექმნილია ცხრილების შესაქმნელად და რედაქტირებისთვის. მათთან ერთად უკვე შეგიძლიათ გააკეთოთ ის, რაც გსურთ: შექმნათ მონაცემთა ბაზები, სქემები, ფორმულები და სხვა ტიპის მონაცემები. ეს არის ძალიან ძლიერი ინსტრუმენტი, ამიტომ ჩვენ არ განვიხილავთ მის ყველა შესაძლებლობებს. დღეს ჩვენი მიზანი გარკვეულწილად განსხვავებულია და არ გადავუხვევთ დღევანდელი განხილვის თემას.

XML ფაილები, უფრო ადვილად გასაგებად, შექმნილია სხვადასხვა მონაცემების შესანახად და გაცვლისთვის კომუნალურ პროგრამებს შორის. მარკირების ეს ენა განსაკუთრებით ხშირად გამოიყენება ინტერნეტში ინფორმაციის გადაცემისას. და როდესაც გჭირდებათ ცხრილის მონაცემების გადატანა Excel-დან ვებსაიტზე, მაგალითად, მოგიწევთ თქვენი დოკუმენტის გარდაქმნა ისე, რომ ის სწორად გამოჩნდეს. ამიტომ, ნუ გადავდებთ სიმართლის მომენტს და სასწრაფოდ დავიწყოთ ოპერაცია.

როგორ გადავიტანოთ Excel XML-ში

ძვირფასო მეგობრებო, სინამდვილეში, ფაილების კონვერტაცია საკმაოდ მარტივი ამოცანაა. თუმცა, ზოგიერთ მომხმარებელს შეიძლება ჰქონდეს პრობლემები მონაცემთა გადაცემისას, ამიტომ დღეს განვიხილავთ ჩვენი გეგმის განხორციელების რამდენიმე გზას. ამიტომ, ჩვენ უნდა ვიყოთ მოთმინება და გავაგრძელოთ მოქმედება:

  1. უმარტივესი მეთოდი, რომელიც ზოგიერთ შემთხვევაში შეიძლება არ იმუშაოს, არის ფაილის სასურველ ფორმატში შენახვა თავად Microsoft Excel-ში. ამისათვის გახსენით საჭირო დოკუმენტი ამ აპლიკაციაში. შემდეგ დააჭირეთ ღილაკს "ფაილი" (განხილულია Office 2013, როგორც მაგალითად, სხვა ვერსიებში შენახვის პროცესი შეიძლება ოდნავ განსხვავებული იყოს) Excel ფანჯრის ზედა მარცხენა კუთხეში, შემდეგ "Save As", შემდეგ აირჩიეთ ადგილი შესანახად. დოკუმენტს, მიეცით სახელი და ჩანართში მიუთითეთ ფაილის ტიპი, როგორც „XML მონაცემები“. ამის შემდეგ, შეამოწმეთ ყველაფერი სწორად გამოგივიდათ. თუ არა, მაშინ სცადეთ შემდეგი მეთოდები.
  2. ასე რომ, თუ წინა შემთხვევაში მოხდა შეცდომა, მაშინ შესაძლოა პროგრამის თქვენი ასლი არ უზრუნველყოფს მხარდაჭერას და შესაბამის დანამატებს. მათი ინსტალაციისთვის გადადით Microsoft-ის ვებსაიტზე http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=3108, ჩამოტვირთეთ და დააინსტალირეთ ეს ფაილი თქვენს კომპიუტერში ან ლეპტოპზე. შემდეგ გაუშვით Microsoft Excel პროგრამა და დააწკაპუნეთ დიდ ფერად ღილაკზე განაცხადის ფანჯრის ზედა მარცხენა კუთხეში (აქ ჩვენ უკვე ვუყურებთ 2007 წლის ვერსიის მაგალითს). ბლოკში, რომელიც გამოჩნდება, დააწკაპუნეთ პარამეტრებზე მარცხნივ კომუნალურიდან გასვლისას. ახლა გადადით დანამატების პუნქტზე და დააჭირეთ ღილაკს "გადასვლა" პუნქტის "მართვა" საპირისპიროდ. გამოჩნდება დიალოგური ფანჯარა, სადაც უნდა დააჭიროთ მიმოხილვას და იპოვოთ დოკუმენტი, რომელიც ადრე გადმოწერეთ Microsoft-ის ვებსაიტიდან. ახლა დააწკაპუნეთ OK და გადადით პროგრამის მთავარ ფანჯარაში, სადაც ახლა გაქვთ XML Tools ჩანართი - მისი საშუალებით ახლა მარტივად შეგიძლიათ შექმნათ XML ფაილი არსებული ცხრილიდან. თქვენ უნდა შეინახოთ იგი ისევე, როგორც წინა პუნქტი.
  3. თუ არ გსურთ თქვენი და თქვენი კომპიუტერის ჩატვირთვა ასეთი ინფორმაციით, შეგიძლიათ მიმართოთ სპეციალური გადამყვანი საშუალებების ან ამ პროგრამების ონლაინ ვერსიების გამოყენებას. მაგალითად, შეგიძლიათ ჩამოტვირთოთ Format Factory აპლიკაცია, რომელიც საშუალებას მოგცემთ შეასრულოთ ყველა საჭირო მოქმედება. მაგრამ უნდა გვახსოვდეს, რომ ამ გზით შენახული და კონვერტირებული ფაილები ყოველთვის არ მუშაობს მომავალში. ანუ, ოპერაციის დროს შეიძლება დაზიანდეს დოკუმენტის მეხსიერების სექტორები ან უბნები, რაც უარყოფითად იმოქმედებს მასზე - ის შეიძლება უბრალოდ არ გაიხსნას, მაგალითად, XML რედაქტორში. ამიტომ რეკომენდებულია პროფესიონალური პროგრამების ან თავად Microsoft Excel-ის გამოყენება.

როგორ თარგმნოთ XML Excel-ზე

სანამ XML-ს Excel-ში თარგმნით, ჯერ უნდა გახსნათ იგი. მოდით შევხედოთ მთელ ამ მოკლე პროცესს ქვემოთ. ასე რომ, დავიწყოთ:

  1. გაუშვით პროგრამა თქვენს სამუშაო მაგიდაზე მალსახმობის გამოყენებით ან Explorer მენიუს მეშვეობით.
  2. თუ იყენებთ Office-ს, დააწკაპუნეთ „გახსენით მეტი სამუშაო წიგნები“ საწყისი გვერდის ბოლოში. პროცესი შეიძლება ოდნავ განსხვავდებოდეს სხვა ვერსიებში.
  3. შემდეგი, დააწკაპუნეთ „კომპიუტერზე“ ან სხვა ადგილას, სადაც მდებარეობს თქვენი XML ფაილი, შემდეგ დააჭირეთ „დათვალიერებას“ და შეცვალეთ მონაცემთა ტიპი „XML ფაილებად“ ფანჯარაში, რომელიც გამოჩნდება.
  4. ახლა ჩვენ ვეძებთ საჭირო ფაილს და ვხსნით მას ჩვენს პროგრამაში ამავე სახელწოდების ღილაკის გამოყენებით.
  5. შემდეგი, ჩვენ განვიხილავთ, თუ როგორ უნდა გარდაქმნას ჩვენი დოკუმენტი. გადადით დეველოპერის ჩანართზე, შემდეგ დააჭირეთ იმპორტის ღილაკს.
  6. ფანჯარაში, რომელიც იხსნება, თქვენ კვლავ უნდა იპოვოთ და აირჩიოთ ჩვენი დოკუმენტი, რომელზეც გსურთ მოქმედების შესრულება, შემდეგ დააჭირეთ ღილაკს "იმპორტი".
  7. შემდეგ თქვენ თავად აკონფიგურირებთ ყველაფერს: იმპორტის ზონას, მდებარეობის შენახვას და სხვა პარამეტრებს. რის შემდეგაც მიიღებთ ცხრილს, რომელიც მოგვიანებით შეგიძლიათ შეინახოთ თქვენთვის საჭირო ფორმატში. როგორც ხედავთ, არაფერია რთული.

მოდით შევაჯამოთ

ძვირფასო მკითხველო, დღეს ჩვენ ვისწავლეთ არა მხოლოდ XML ფაილების გადაყვანა Excel-ში და პირიქით, არამედ როგორ შევქმნათ და გავხსნათ ისინი, თუ ვერსიები შეუთავსებელია. ვიმედოვნებთ, რომ ყველაფერი გამოგივიდათ და კითხვები აღარ დაგრჩათ. არ დაგავიწყდეთ თქვენი აზრისა და გამოცდილების გაზიარება კომენტარებში: ალბათ იცით კონვერტაციის მარტივი მეთოდი. უთხარით სხვა მომხმარებლებს, წარმატებული იყო თუ არა ერთი ტიპის დოკუმენტის თარგმნა. თუ მუშაობდა, მაშინ გააზიარეთ რა მეთოდი გამოიყენეთ.


მე დიდი ხანია ვმუშაობ XML ფაილებთან, მაგრამ მხოლოდ ახლა ვკითხე ჩემს თავს: როგორ შევქმნა და დაარედაქტირო XML ფაილები MS Excel-ში სტანდარტული ხელსაწყოების გამოყენებით? Excel არის მოსახერხებელი და ინტუიციური ინსტრუმენტი სხვადასხვა მონაცემების შესაქმნელად, რედაქტირებისთვის და დამუშავებისთვის. Excel-ს სკოლაში სწავლობენ და, ალბათ, არ არის ადამიანი, რომელმაც იცის კომპიუტერზე მუშაობა და არ იცოდეს Excel-ში მუშაობის საფუძვლები. ამიტომ, ჩემი აზრით, ეს არის ყველაზე შესაფერისი ინსტრუმენტი, რომელიც შეიძლება ურჩიოთ ჩვეულებრივ მომხმარებლებს მონაცემთა ფაილების შესაქმნელად და რედაქტირებისთვის სხვადასხვა აპლიკაციებისთვის, მათ შორის ვებ აპლიკაციებისთვის. მე მაქვს სახლში დაინსტალირებული MS Excel 2013 და მისი მაგალითის გამოყენებით აღვწერ მარტივ პროცედურებს, რომლებიც უნდა შესრულდეს Excel-ში XML მონაცემთა ფაილის შექმნისას. ვფიქრობ, ეს ასევე იმუშავებს Excel-ის წინა ვერსიებში. XML მონაცემთა ფაილის შესაქმნელად, გადავდგათ რამდენიმე მარტივი ნაბიჯი. მოდით შევხედოთ მათ მოვლენის მონაცემთა ფაილის შექმნის მაგალითის გამოყენებით.

1. პირველ რიგში, თქვენ უნდა შექმნათ და შეავსოთ მონაცემთა ცხრილი Excel-ში მონაცემთა სტრუქტურის შესაბამისად. ამისათვის გამოიყენეთ მენიუს ელემენტი ჩასმა/ცხრილი.

2. შევქმნათ XML ფაილის სქემა. ამისათვის შეიყვანეთ შემდეგი სტრიქონები ტექსტურ რედაქტორში და შეინახეთ ისინი ფაილში.

XHTML

0 0 0 0 ქრისტეს ნათელი აღდგომა. აღდგომა 0 0 -7 0 -7 უფლის შესვლა იერუსალიმში 1

0

0

0

0

ქრისტეს ნათელი აღდგომა. აღდგომა

0

0

-7

0

-7

უფლის შესვლა იერუსალიმში

1

3. ახლა გახსენით ჩანართი დეველოპერი, დააჭირეთ ღილაკს წყაროდა მიუთითეთ XML წყარო ფაილი. საჭიროების შემთხვევაში, ჩართეთ მენიუს ელემენტი დეველოპერი Excel-ის პარამეტრებში.

4. რჩება დიაგრამის ელემენტების და ცხრილის სვეტების შედარება, ელემენტების შესაბამისი სვეტების სათაურებში გადათრევით.

5. და ბოლო ნაბიჯი: ცხრილის მონაცემების ექსპორტი XML ფაილში კონტექსტური მენიუს გამოყენებით. დადექით ცხრილის ნებისმიერ უჯრედზე, დააწკაპუნეთ მარჯვენა ღილაკით, აირჩიეთ XML/ექსპორტი…და შეინახეთ XML ფაილი სასურველი სახელით.

შეინახეთ Excel ფაილი შემდგომი რედაქტირებისთვის და დასამატებლად. შემდგომში, პუნქტები 1.-4. არ იქნება საჭირო ამის გაკეთება!

P.S. რატომ დავწერე ეს ბანალური შენიშვნა? ჯერ ერთი, რომ არ დავივიწყოთ და მეორეც, ვფიქრობ, რომ ეს ინფორმაცია სასარგებლო იქნება მომხმარებლებისთვის, დაწყებული შემდეგი ვერსიით 0.6 ;-)