Dzwon.

Są ci, którzy przeczytali tę wiadomość przed tobą.
Subskrybuj odbieranie artykułów świeżych.
E-mail
Nazwa
Nazwisko
Jak chcesz przeczytać dzwonek
Bez spamu

powiem ci szybki sposób Tworzenie pliku XML z tabeli Excel!

Dokumenty XML to bardzo silna i potężna rzecz. Korzystanie z jednego pliku XML można wypełnić informacje o stronie internetowej w sekundach! W końcu we wszystkich nowoczesnych silnikach (CMS) istnieje możliwość importowania z pliku HML. Więc co ja.

Jak wiesz, * formaty .xls (* .xlsx w biurze 2007) są formatami Microsoft Office Excel. 2003 Urząd wrócił, już jest 2010, ale pracuję na rok 2007, a zatem opuściłem, opierając się na nim. Trafienie!

1. Przejdź do witryny Microsoft i pobierz dodatek do pracy z XML. Pobierz Addel 2003 Add-in: XML Tools Add-in. Waży dużo, 397 KB.



2. Zainstaluj ją swoim komputerze. W instalacji nie ma nic skomplikowanego. Domyślnie dodatek jest ustawiony tutaj: C: Próbki OfficeEeExcel2003xmltoolsaddin

3. Teraz otwórz Excel, przejdź do menu i wybierz element Ustawienia Excel.

4. W wyświetlonym oknie, po lewej, wybierz element "Dodatek", a na dole okna kliknij przycisk "GO ..."

5. Nowe okno zostanie otwarte przed tobą, musisz kliknąć przycisk "Przegląd ...". Jak wygląda, pokazano poniżej.

6. Teraz musisz znaleźć zainstalowane dodatki XMLTOOLS. Wybierz go i kliknij OK!

7. Jeśli zrobiłeś wszystko dobrze, zobaczysz następujące okno! Odważnie kliknij OK, instalacja zostanie zakończona!

8. Pojawiłeś się w górnym menu. Zakładka dodatku, oraz na lewym elemencie XML Narzędzia.

Dzięki instalaci zorientowane na zewnątrz, a teraz przejdź bezpośrednio do konwersji (Export) XLS w XML.

1. Aby to zrobić, otwórz plik danych, który chcesz wyprzedzić. Następnie wybierz pierwszy element w "Konwertuj zakres do listy XML ..." rozwijane menu

2. Zanim otworzysz małe okno, czego w nim potrzebujesz? Są przyciski radiowe, nie i tak, dla czego oni są? Wszystko jest proste, jeśli masz tytuł do danych (w moim przypadku, to jest) Wybierz Tak, a jeśli nie ma, to nie. Następnie kliknij mały prostokąt w górnym łańcu.

3. Wybierz obszar przekształcający i kliknij przycisk w prawo w wyświetlonym oknie. Zwraca poprzednie okno, w którym klikamy OK.

4. Twoja płyta powinna się zmienić, możesz powiedzieć, aby się przekształcić, wygląda tak:

6. Na liście rozwijanej "Typ pliku" wybierz Dane XML, kliknij "Zapisz".

Gratuluję, twój plik jest tworzony!

Mam nadzieję, że wszystko zostało określone i zrozumiałe, ale jeśli masz pytania, napisz!

Podczas opracowywania elektronicznego systemu zarządzania dokumentami konieczne było wdrożenie funkcji do eksportowania danych w popularnych formatach. W szczególności w formacie Microsoft Excel.. Wymagania eksportowe były dość proste - dane eksportujące z minimalnym formatowaniem, tj. Brak połączonych komórek, gier z czcionkami itp. Formaty eksportu xlsx i Excel XML..

W tym przypadku opowiem o Excel XML.

Tak więc w dowolnym systemie przez dane dotyczące tabeli, potrzeba eksportu danych. Cele eksportu są różne:

Wdrożenie w klasie Zestaw funkcji do nagrywania komórek i wierszy - podstawowy wymóg, który oznacza utworzenie funkcji do zapisywania wartości komórek określone typy i możliwość nagrywania gotowego wiersza do pliku.

Możliwość pracy z nieograniczonymi danymi jest oczywiście sama klasa eksportu nie jest w stanie odpowiedzieć na woluminę nagrania, ale musi zapewnić funkcje do nagrywania danych na dysku i wydanie losowy pamięć dostępu Dla następnej części danych.

Oprócz opisanych wymagań należy dodać funkcje serwisowe:

  • Włączanie autofiltra.
  • Plik kompresyjny w ZIP.

Sprzedaż

Przede wszystkim, tworząc klasę, zaznacz nazwę pliku końcowego i poproś liczbę kolumn i wierszy. Plik musi mieć poprawną nazwę, a folder, w którym zostanie zapisany, musi istnieć. Wszystko jest jak zwykle.
Format Excel XML umożliwia zapisanie informacji o użytkowniku w pliku, który go utworzył, dlatego tworząc tytuł, piszę nazwę organizacji, informacje o użytkowniku i datę daty tworzenia.

Public Funkcja WrittersocumentProperties ($ Organization \u003d NULL, $ User \u003d Null) (FWrite ($ to-\u003e plik " "); jeśli (! is_null ($ użytkownik)) (FWRite ($ to-\u003e plik" "$ User-\u003e opis"."); FWRite ($ to-\u003e plik" "$ User-\u003e opis".");) $ DT \u003d Nowy DATETIME (); $ DT_STRING \u003d $ DT-\u003e Format (" Y-M-D: I: s "$ dt_string.""); FWRite ($ to-\u003e plik" "$ dt_string.""); jeśli (! is_null ($ Organizacja)) FWRite ($ to-\u003e plik" . "$ Organization-\u003e Nazwa"."); FWRite ($ to-\u003e plik" 12.00"); FWRite ($ to-\u003e plik""); }
To prawda, że \u200b\u200bw tej funkcji stosuje się podmioty systemu zarządzania dokumentami - organizacja i użytkownik (użytkownik). Wymień te podmioty, powiedzmy, wartości string, a nie problem.

Najciekawsze w tytule jest informacje o stylach. W formacie Excel XML są one zaimplementowane bardzo wygodne, więc wystarczy utwórz tabelę ze stylami do ciągów, dat / czasu i hiperłączy.

Funkcja publiczna Writestyles () (FWRite ($ to-\u003e plik ""); //default style fwrite($this->file, ""); // DateTime Style FWrite ($ to-\u003e plik""); FWRite ($ to-\u003e plik""); FWRite ($ to-\u003e plik""); // Hyperlink Style FWrite ($ to-\u003e plik""); // Bold FWrite ($ to-\u003e plik""); FWRite ($ to-\u003e plik""); }

Zakończono prace przygotowawcze, możesz przejść do nagrywania danych. Otwarcie arkusza roboczego to tylko para znaczników, właśnie w tym momencie wykorzystuje informacje o liczbie kolumn i wierszy.

Public Funkcja OpenWorsheet () (FWrite ($ to-\u003e plik " "); FWRite ($ to-\u003e plik, strtr ("

", Array (" (Col_count) "\u003d\u003e $ to-\u003e Colcount," (Row_count) "\u003d\u003e $ to-\u003e Rowcount)));)
Ale oto zapis szeregów - proces jest bardziej interesujący. Klasa powinna działać szybko i przetwarzać nieograniczoną ilość danych, ponieważ rekordy mogą mieć tysiące stu lub nawet miliona! Chcesz prędkości - praca z pamięcią, chcesz nieograniczoną ilość danych - pracować z płyciem. Aby pogodzić wymagania, wdrożone funkcje wytrwałych i splotów.
Pierwszy - oczyści bieżący wiersz, po czym można go ponownie uzupełnić, a drugi - pisze bieżący wiersz do otwartego pliku na dysk. Ich udostępnianie pozwala wytrzymać równowagę między stosowanymi prędkością a ilością pamięci.

Wytrwalnik funkcji publicznej () ($ This-\u003e Currentrow \u003d Array ();) Funkcja publiczna Flushow () (FWrite ($ to-\u003e plik, implode ("", $ to-\u003e Currentrow)); Unset ($ to-\u003e CurrentRow);)
Każda komórka jest rejestrowana przez funkcję odpowiedniego typu danych, a mianowicie AppendCellXXX, gdzie XXX jest typem danych. Ważne typy danych: Num, String, Real, DateTime, Data, Czas, Link. Przykładowa funkcja do nagrywania wartości numerycznej:

Funkcja publiczna AppendECellNUM ($ Value) ($ to-\u003e Currrrentrow \u003d " "$ Wartość"."; }
Po nagraniu wszystkich danych pozostaje zamknięcie arkusza roboczego i skoroszytu.

Podanie

Korzystanie z opisanej klasy opiera się na eksporcie danych za pomocą dostawcy Carraydataprovider. Jednakże, zakładając, że objętość eksportowanych danych może być bardzo duża, specjalny adresator CDATAPROVIDERITERATOR Iterator, który przechodzi przez zwróconych danych w 100 wpisach (możesz określić inną liczbę rekordów).

Funkcja publiczna ExportExCelXML ($ Organizacja, $ Użytkownik, & $ FileName) ($ to -\u003e _ Dostawca \u003d Nowy Carraydataprovider (/ * Query * /); Yii :: Import ("EXT.AlxdexportExcelxml.alxdexportExportExcelxCl"); $ Export \u003d Nowy ALXDEXPORTEXCELXML ($ FileName, Count ($ to -\u003e _ Atrybuty), $ to -\u003e _ dostawca-\u003e getTotalitemcount () + 1); $ Export-\u003e OptWriter (); $ Export-\u003e Openworkbook (); $ Export-\u003e WritedocumentProperties ($ Organization, $ Użytkownik); $ Export-\u003e Writestyles (); $ Export-\u003e OpenWorsheet (); // Tytuł Row $ Export-\u003e ReseTrow (); $ Export-\u003e OpenROW (TRUE); Foreach ($ to -\u003e _ Atrybuty jako $ Code \u003d\u003e $ format) $ Export-\u003e AppendCellstring ($ to -\u003e _ objectRef-\u003e getattribetelabel ($ Code)); $ Export-\u003e Closereow (); $ Export-\u003e Flushrow () / Wiersze Dane $ Rows \u003d Nowy CDATAPROVIDERITERATOR ($ to -\u003e _ dostawca, 100); foreach (rzędy $ rzędowe jako rzędu) ($ Export-\u003e Resecentrow (); $ Export-\u003e OpenROW (); Foreach ($ to -\u003e _ Atrybuty jako $ Code \u003d\u003e $ Format) (Rodzaj przełącznika ($ Format-\u003e Type) (Case "Num": $ Export-\u003e AppendCellnum ($ rzędu [$ Code]); / * Inne typy * / Domyślnie: $ Export- \u003e Dołącz Cellstring (""); )) $ Export-\u003e Closerow (); $ Export-\u003e Flushrow (); ) // Zamknij wszystkie $ Export-\u003e ClosingSheet (); $ Export-\u003e Closformbook (); $ Export-\u003e CloseWirer (); // plik zip $ Export-\u003e Zip (); $ FileName \u003d $ Export-\u003e GetzipFulFileName (); )
W moim przypadku każdy wiersz jest rejestrowany na płycie, co jest nadal dość dopuszczalne, ale w przyszłości może wymagać zmian. Na przykład, będzie to uzasadnione, aby utrzymać nie każdy rząd i każdą dziesiątą lub nawet sto rzędów na raz. Następnie zwiększy szybkość eksportu.

Prędkość

Nawiasem mówiąc, był przekonany o swoim własnym doświadczeniu, jak ważne jest, aby założyć możliwość istnienia dużych ilości danych w pracy wsadowej, takich jak eksport.
Początkowo próbowałem wyeksportować dane

XML jest jednym z najczęstszych formatów do przechowywania danych i wymiany ich między różne aplikacje. Microsoft Excel działa również z danymi, więc kwestia przekształcania plików z standardu XML do formatów Excel jest bardzo istotna. Dowiedz się, jak dokonać tej procedury na różne sposoby.

Pliki XML są zapisywane w specjalnym języku znacznika z czymś podobnym do stron internetowych HTML. Dlatego te formaty mają raczej podobną strukturę. Jednocześnie Excel jest przede wszystkim programem, który ma kilka "natywnych" formatów. Najbardziej znany z nich: Excel Book (XLSX) i Excel 97 - 2003 książki (XLS). Dowiemy główne sposoby konwersji plików XML do tych formatów.

Metoda 1: Wbudowana funkcjonalność Excel

Program Excel działa świetnie dzięki plikom formatu XML. Może je otworzyć, zmienić, tworzyć, oszczędzaj. Dlatego najłatwiejszą opcją dla nas zadań jest otwarcie tego obiektu i zapisanie go za pomocą interfejsu aplikacji jako dokumenty XLSX lub XLS.


W tym celu procedura konwersji plików XML format Excel. Przez interfejs programu jest zakończony.

Metoda 2: Import danych

Opisana metoda jest odpowiednia tylko dla plików XML z najprostszą strukturą. Więcej kompleksowych tabel, gdy konwersja w ten sposób może być nieprawidłowo przetłumaczona. Ale istnieje inne osadzone narzędzie Excel, które pomoże prawidłowo importować dane. To jest zlokalizowane w "Menu programistyczne"który jest domyślnie wyłączony. Dlatego przede wszystkim należy aktywować.


Zatem konwersja w kierunku niezbędnym dla nas zostanie wykonana przy maksymalnej poprawnej konwersji danych.

Metoda 3: Konwerter online

Użytkownicy, którzy z jakiegoś powodu nie są zainstalowane na komputerze programem Excel, ale w potrzebie pilnej transformacji plików z formatu XML do programu Excel można korzystać z wielu specjalistycznych usług online do konwersji. Jednym z najwygodniejszych miejsc tego typu jest Convertio.


Ta opcja może służyć jako dobra polityka bezpieczeństwa w przypadku zwiększenia dostępu do standardowe narzędzia Do formatowania w tym kierunku.

Jak widać, są wbudowane narzędzia w samym wywyższeniu, aby przekonwertować plik formatu XML do jednego z "natywnych" formatów tego programu. Najprostsze przypadki można łatwo przekształcić za pomocą zwykłego funkcji "Zapisz jako ...". Dla dokumentów o bardziej złożonej strukturze znajduje się oddzielna procedura konwersji poprzez import. Użytkownicy, którzy z jakiegokolwiek powodu nie mogą korzystać z tych narzędzi, mają możliwość zadania przy użyciu specjalistycznych usług online do konwersji plików.

Jeśli chcesz utworzyć plik danych XML i plik schematu XML z zakresu komórek na arkuszu, można użyć wersji 1.1 narzędzia XML dla Excel 2003, aby rozwinąć istniejące możliwości XML w Microsoft Excel 2007 i nowszych wersjach.

Uwaga: Ta nadbudowa została zaprojektowana dla programu Excel 2003. Dokumentacja i interfejs użytkownika Patrz listy, które w wersji aplikacji później program Excel 2003 nazywa się tabelami Excel.

Dodatkowe informacje Do pracy z tą nadbudową, zobacz artykuł przy użyciu dodatkowej wersji "XML" 1.1 dla programu Excel 2003.

Działanie 2. Konwersja zakres komórek w tabeli XML

    Wprowadź dane, dla których chcesz utworzyć plik danych XML i plik schematu XML. Dane powinny być przedstawione w formacie tabelarycznym w postaci kolumn i ciągów (tzw. Dane regularne).

    Na karcie. Nadbudowa w grupie Polecenia menu. Kliknij strzałkę w pobliżu napis Narzędzia XML. i kliknij Konwertuj zasięg na listę XML.

    Wprowadź zakres komórek danych, które muszą zostać przekonwertowane jako link bezwzględny w polu tekstowym.

    W polu. Pierwsza linia zawiera nazwy kolumn. Wybierać NieJeśli pierwsza linia zawiera dane lub takJeśli pierwsza linia zawiera nagłówki kolumnowe i kliknij dobrze.

    Excel automatycznie utworzy schemat XML, sprawdź komórki do diagramu i utwórz tabelę XML.

    Ważny: Jeśli zostanie otwarty edytor Visual Basic, a pojawi się komunikat o błędzie Visual Basic dla aplikacji, wykonaj następujące kroki.

    1. naciśnij przycisk dobrze.

      W podświetlonej linii modułu kodu VBA usuń z ciągu "50". Innymi słowy, zmiana:
      Xmldoc jako msxml.2 . Domdocument50.
      Do kogo:
      Xmldoc jako msxml2. Domdocument.

      Naciśnij klawisz F5, aby wyszukać następującą linię zawierającą tekst "XMLDOC jako msxml2.domdocument50", kliknij dobrze I zmień ciąg w poprzednim akapicie.

      Naciśnij ponownie F5, aby znaleźć i zmienić inne wystąpienia skoków.

      Jeśli po naciśnięciu klawisza F5 komunikat o błędzie VBA nie jest już wyświetlany, zamknij Visual Basic Editor, aby powrócić do książki. Zakres komórek zostanie przekonwertowany na tabelę XML.

      Uwaga: Aby wyświetlić wszystkie karty XML w książce, na karcie Deweloper w grupie Xml. naciśnij przycisk Źródło Aby wyświetlić obszar zadania "Źródło XML". Na dole obszaru zadań "Źródło XML" kliknij Karty XML..

      Jeśli karta Deweloper Niewidoczny, wykonaj pierwsze trzy kroki określone w następnej sekcji, aby dodać go do taśmy Excel.

Działanie 3. Eksportuj Tabela XML do danych XML (XML)

Uwaga: Podczas tworzenia kart XML i dane eksportuj do programu Excel do plików XML, istnieje limit liczby wierszy, które mogą być eksportowane. Podczas eksportowania do pliku XML z programu Excel można zaoszczędzić do 65 536 linii. Jeśli plik zawiera więcej niż 65 536 linii, program Excel będzie mógł wyeksportować tylko pierwsze linie (liczba wierszy MOD 65 537). Na przykład, jeśli arkusz zawiera 70 000 wierszy, Excel Exports 4464 linii (70 000 mod 65 537). Zalecamy śledzenie jednego z następujących wskazówek: 1) Użyj formatu XLSX; 2) Zapisz plik w formacie "Tabela XML 2003 (* .xml)" (porównanie zostanie utracone); 3) Usuń wszystkie linie po 65.536, a następnie ponownie eksportuj (podczas gdy mapowanie zostanie zapisane, ale linie zostaną utracone na końcu pliku).

XML jest uniwersalny format. Pracować z danymi. Obsługuje wiele programów, w tym z kula DBMS. Dlatego konwersja informacji w XML jest ważna z punktu widzenia interakcji i wymiany danych między różnymi aplikacjami. Excel jest tylko wśród programów, które pracują ze stołami, a nawet mogą wykonywać manipulacje z bazami danych. Dowiemy się, jak konwertować pliki Excel do XML.

Konwersja danych B. format XML. Nie taki prosty proces, ponieważ w swoim kursie należy utworzyć specjalny schemat (schema.xml). Jednak, aby przekonwertować informacje najprostszy plik. ten format. Wystarczy mieć normalne narzędzia ochronne pod ręką, ale stworzenie dobrze strukturyzowanego elementu będzie musiało być dokładnie zamazane z kompilacją obwodu i jej połączenia z dokumentem.

Metoda 1: Proste oszczędność

W programie Excel możesz zapisać dane w formacie XML, po prostu za pomocą menu "Zapisz jako…". To prawda, że \u200b\u200bnie ma gwarancji, że wszystkie programy będą działać poprawnie z plikiem utworzonym w ten sposób. Tak, a nie we wszystkich przypadkach, że ta metoda działa.


Zatem transformacja pliku z formatu Excel w XML zostanie wykonana.

Metoda 2: Narzędzia deweloperskie

Możesz konwertować format Excel w XML za pomocą narzędzi programisty na karcie Program. Jednocześnie, jeśli użytkownik robi wszystko poprawnie, na wyjściu otrzyma, w przeciwieństwie do poprzedniego sposobu, pełny plik XML, który będzie postrzegany prawidłowo aplikacje innych firm. Ale natychmiast trzeba powiedzieć, że nie każdy przybysz może mieć wystarczającą wiedzę i umiejętności natychmiast nauczyć się konwertować dane w ten sposób.

  1. Domyślnie karta narzędzia programisty jest wyłączona. Dlatego przede wszystkim musisz go aktywować. Przejdź do karty "Plik" i kliknij pozycję "Parametry".
  2. W otwartym oknie parametrów przejdź do podsekcji "Ustawienia taśmy". Po prawej stronie okna ustawiamy kleszcz w pobliżu wartości "Deweloper". Po tym klikamy przycisk Dobrzeumieszczony w dolnej części okna. Karta Narzędzia programisty jest teraz włączona.
  3. Następny, otwarty tabela Excel. W programie w dowolnym wygodnym sposobu.
  4. Na podstawie jego podstawy musimy utworzyć schemat utworzony w dowolnym edytorze tekstu. W tych celach możesz użyć zwykłych Notebook Windows.Lecz lepiej stosować wyspecjalizowaną aplikację do programowania i pracy z Notepad ++ marup Language. Uruchom ten program. Utwórz w niej schemat. Na naszym przykładzie będzie wyglądać, jak pokazano na dole w zrzucie zrzutu ekranu Notepad ++.

    Jak widzimy, otwarcie i zamykanie tagu dla dokumentu jako całości służy "Zestaw danych". W tej samej roli dla każdej linii wystaje znacznik "Rekord". Dla schematu wystarczy, jeśli weźmiemy tylko dwa rzędy stołu, i nie przełożymy go wszystkie ręcznie w XML. Nazwa kolumny otwarcia i zamykania tagów może być dowolna, ale w tym przypadku, dla wygody, wolaliśmy po prostu przetłumaczyć głośniki rosyjskojęzyczne język angielski. Po wykonaniu danych po prostu zapisz je przez funkcjonalność. edytor tekstu w dowolnym miejscu dysku twardego w formacie XML "Schemat".

  5. Ponownie przejdź do programu Excel z już otwartym stołem. Przejdź do karty "Deweloper". Na wstążce w bloku narzędzia "XML" Kliknij przycisk "Źródło". W polu otwiera się po lewej stronie okna, klikamy przycisk "Karty XML ...".
  6. W otwartym oknie kliknij przycisk "Dodaj ...".
  7. Uruchomiono okno wyboru źródła. Przejdź do katalogu lokalizacji schematu przygotowanego wcześniej, wybierz go i kliknij przycisk "Otwarty".
  8. Po pojawieniu się elementów schematu w oknie przeciągnij je za pomocą kursora do odpowiednich komórek nazw kolumn tabeli.
  9. Kliknij prawym przyciskiem myszy uzyskaną tabelę. W menu kontekstowe Konsekwentnie przechodzą przez przedmioty "XML" i "Eksport…". Po tym zapisz plik w dowolnym katalogu.

Jak widać, istnieją dwa główne sposoby konwersji plików XLS i XLSX do formatu XML program Microsoft. Przewyższać. Pierwszy jest niezwykle prosty i polega na podstawowej procedurze oszczędzania z daną ekspansją przez funkcję "Zapisz jako…". Łatwy i wyraźniejszy ta opcjaNiewątpliwie są zalety. Ale ma jedną poważną wadę. Transformacja jest wykonywana bez uwzględnienia pewnych standardów, a zatem plik odwrotny przez tę metodę, aplikacje innych firm mogą po prostu nie zostać rozpoznawane. Druga opcja obejmuje kompilację karty XML. W przeciwieństwie do pierwszej metody, tabela, przekształcona zgodnie z tym schematem spełnia wszystkie standardy jakości XML. Niestety, nie każdy użytkownik będzie mógł szybko radzić sobie z niuansami tej procedury.

Dzwon.

Są ci, którzy przeczytali tę wiadomość przed tobą.
Subskrybuj odbieranie artykułów świeżych.
E-mail
Nazwa
Nazwisko
Jak chcesz przeczytać dzwonek
Bez spamu