La campana.

Ci sono quelli che hanno letto questa notizia prima di te.
Iscriviti per ricevere articoli freschi.
E-mail
Nome
Cognome
Come vuoi leggere la campana
Senza spam.

Vi dirò via veloce Creazione di un file XML dal tavolo Excel!

I documenti XML sono una cosa molto forte e potente. Utilizzando un file XML, è possibile riempire le informazioni del sito Web in secondi! Dopotutto, in tutti i motori moderni (CMS) c'è la possibilità di importare dal file HML. Quindi cosa sono io.

Come sapete, * .xls formati (* .xlsx nell'ufficio 2007) sono formati di Microsoft Office Excel. 2003 L'Ufficio è tornato, c'è già nel 2010, ma lavoro per il 2007, e, quindi, lo dirò, basato su di esso. Colpire!

1. Vai al sito Web Microsoft e scarica il componente aggiuntivo per lavorare con XML. Scarica Add-in Excel 2003: Add-in Tools XML. Pesa non molto, 397 kb.



2. L'installa sul tuo computer. Non c'è nulla di complesso nell'installazione. Per impostazione predefinita, il componente aggiuntivo è impostato qui: c: \\ campioni di ufficio \\ officeexcel2003xmltoolsaddin

3. Ora apri Excel, vai al menu e seleziona la voce delle impostazioni di Excel.

4. Nella finestra visualizzata, a sinistra, selezionare la voce "Add-in", e nella parte inferiore della finestra, fare clic sul pulsante "Vai ..."

5. La nuova finestra si aprirà prima di te, è necessario fare clic sul pulsante "Panoramica ...". Come sembra, mostrato di seguito.

6. Ora è necessario trovare il componente aggiuntivo XMLTools installato. Selezionalo e fai clic su OK!

7. Se hai fatto tutto bene, vedrai la seguente finestra! Fare clic con coraggio Fare clic su OK, l'installazione è completata!

8. È apparso nel menu in alto. La scheda Add-on e sugli strumenti XML dell'articolo sinistro.

Con l'installazione ha capito, e ora vai direttamente alla conversione (export) XLS in XML.

1. Per fare ciò, apri il file di dati che si desidera sorpassare. Quindi selezionare il primo elemento in "Converti un intervallo in un elenco XML ..." menu a discesa

2. Prima di aprire una piccola finestra, a cosa ne hai bisogno? Ci sono pulsanti radio, no e sì, per cosa sono? Tutto è semplice se hai un titolo ai dati (nel mio caso è) scegliere Sì, e se non c'è, allora no. Quindi fare clic su un piccolo rettangolo nella stringa superiore.

3. Selezionare l'area dati che converti e fai clic sul pulsante a destra nella finestra visualizzata. Restituisce la finestra precedente in cui fare clic su OK.

4. Il tuo piatto dovrebbe cambiare, puoi dire per trasformarsi, sembra questo:

6. Nell'elenco a discesa "Tipo file", selezionare i dati XML, fare clic su "Salva".

Mi congratulo con te, il tuo file è stato creato!

Spero che tutto sia stato dichiarato in dettaglio e comprensibile, ma se hai domande, scrivi!

Durante lo sviluppo di un sistema di gestione dei documenti elettronici, è stato necessario implementare le funzioni per l'esportazione di dati in formati popolari. In particolare, in formato Microsoft Excel.. I requisiti di esportazione sono stati piuttosto semplici - esportare i dati con la formattazione minima, I.e. Nessuna cellula combinata, giochi con font, ecc. Formati di esportazione XLSX e Excel XML..

In questo caso, parlerò di Excel XML.

Quindi, in qualsiasi sistema da parte dei dati della tabella operativa, la necessità di esportazione di dati. Gli obiettivi di esportazione sono diversi:

Implementare nella classe A Set di funzioni per la registrazione di celle e righe - il requisito di base che implica la creazione di funzioni per registrare i valori delle celle tipi specificati e la possibilità di registrare una riga finita al file.

La capacità di lavorare con dati illimitati è, ovviamente, la classe di esportazione stessa non è in grado di rispondere per il volume registrabile, ma deve fornire funzioni per la registrazione dei dati su disco e rilasciare memoria ad accesso casuale Per la prossima parte dei dati.

Oltre ai requisiti descritti, è necessario aggiungere funzioni di servizio:

  • Accensione AutoFiltra.
  • File di compressione in ZIP.

I saldi

Prima di tutto, quando si crea una classe, controlla il nome del file finale e richiedi il numero di colonne e righe. Il file deve avere un nome corretto e la cartella in cui verrà salvato deve esistere. Tutto è come al solito.
Il formato Excel XML consente di salvare le informazioni sull'utente nel file, che lo ha creato, pertanto, quando si crea un titolo, scrivo il nome dell'organizzazione, le informazioni dell'utente e la data della data di creazione.

Funzione pubblica ScrificationCumentProperties ($ organizzazione \u003d , $ utente \u003d null) (fwrite ($ questo-\u003e file " "); IF (! IS_NULL ($ utente)) (fwrite ($ questo-\u003e file" "$ Utente-\u003e Descrizione.""); Fwrite ($ questo-\u003e file" "$ Utente-\u003e Descrizione."");) $ DT \u003d Nuovo DateTime (); $ DT_String \u003d $ DT-\u003e Formato (" Y-M-D \\ TH: I: S \\ Z "); fwrite ($ questo-\u003e file" "$ DT_STRING.""); Fwrite ($ questo-\u003e file" "$ DT_STRING.""); se (! is_null ($ Organizzazione)) fwrite ($ questo-\u003e file" . "$ Organizzazione-\u003e Nome.""); Fwrite ($ questo-\u003e file" 12.00"); Fwrite ($ questo-\u003e file""); }
È vero, è in questa funzione che le entità del sistema di gestione dei documenti sono utilizzate - organizzazione e utente (utente). Sostituisci queste entità, diciamo, valori stringa, non un problema.

Il più interessante nel titolo è informazioni sugli stili. In formato Excel XML, sono implementati molto convenienti, quindi crea semplicemente una tabella con stili per stringhe, date / ora e collegamenti ipertestuali.

Funzione pubblica Scrittoestyles () (fwrite ($ questo-\u003e file ""); //default style fwrite($this->file, ""); // DateTime Style Fwrite ($ questo-\u003e file""); Fwrite ($ questo-\u003e file""); Fwrite ($ questo-\u003e file""); // frite di hyperlink stile ($ $-\u003e file""); // grassetto fwrite ($ questo-\u003e file""); Fwrite ($ questo-\u003e file""); }

Il lavoro preparatorio è finito, è possibile passare alla registrazione dei dati. L'apertura di un foglio di lavoro è solo un paio di tag, proprio a questo punto utilizza informazioni sul numero di colonne e righe.

Funzione pubblica OpenWorksheet () (fwrite ($ questo-\u003e file " "); Fwrite ($ questo-\u003e file, strtr ("

", array (" (col_count) "\u003d\u003e $ questo-\u003e colcount," (row_count) "\u003d\u003e $ questo-\u003e rowcount)));)
Ma ecco il record dei ranghi - il processo è più interessante. La classe dovrebbe funzionare rapidamente ed elaborare una quantità illimitata di dati, perché i record possono essere migliaia di cento o anche un milione! Vuoi velocità - Lavora con la memoria, si desidera una quantità illimitata di dati - lavoro con un disco. Per conciliare i requisiti, implementati resetrow e funzioni di flushrow.
Il primo: cancella la riga corrente, dopo di che può essere ripristinata di nuovo, e il secondo scrive la riga corrente al file aperto sul disco. La loro condivisione consente di sopportare il saldo tra velocità e quantità di memoria utilizzata.

Public Function ResEtrow () ($ questo-\u003e currentow \u003d array ();) Funzione pubblica Flushrow () (fwrite ($ questo-\u003e file, implode ("", $ questo-\u003e currenentow)); Corrente);)
Ogni cella è registrata dalla funzione del tipo di dati corrispondente, vale a dire AppendcellXXX, dove XXX è il tipo di dati. Tipi di dati validi: num, stringa, reale, datetime, data, ora, link. Funzione di esempio per la registrazione di un valore numerico:

Funzione pubblica Appendecellnum ($ Value) ($ questo-\u003e currentow \u003d " "$ Valore"."; }
Dopo aver registrato tutti i dati, resta per chiudere il foglio di lavoro e la cartella di lavoro.

Applicazione

L'utilizzo della classe descritta si basa sull'esportazione dei dati utilizzando il provider di CarrayDataProvider. Tuttavia, supponendo che il volume dei dati esportati possa essere molto grande, uno speciale iteratore di crataprovideriterator, che passa attraverso i dati restituiti su 100 voci (è possibile specificare un numero diverso di record).

Funzione pubblica ExportExcelXML ($ Organizzazione, $ utente e $ Nome file) ($ questo -\u003e _ Provider \u003d New CarrayDataProvider (/ * Query * /); yii :: import ("ext.alxdexportexcelxml.alxDexportexcelxml"); $ export \u003d new ALXDEXPORTEXCELXML ($ Nome file, conteggio ($ questo -\u003e _ Attributi), $ questo -\u003e _ fornitore-\u003e gettotalitemcount () + 1); $ export-\u003e openwriter (); $ export-\u003e openworkbook (); $ export-\u003e WitedocumentProperties ($ Organizzazione, $ utente); $ export-\u003e writrestyles (); $ export-\u003e openworksheet (); // title right $ export-\u003e resetrow (); $ export-\u003e OpenRow (True); -\u003e _ Attributi come $ code \u003d\u003e Formato $) $ Export-\u003e AppendcellString ($ questo -\u003e _ ObjectRef-\u003e GetattributeLabel ($ codice)); $ export-\u003e flushrow (); / / Dati righe $ righe \u003d nuovo crataprovideriterator ($ questo -\u003e _ Provider, 100); foreach ($ righe come $ riga) ($ export-\u003e resetrow (); $ export-\u003e OpenRow (); foreach ($ questo -\u003e _ Attributi come $ codice \u003d\u003e $ Formato) (Switch ($ Format-\u003e Tipo) (Cassa "Num": $ Export-\u003e Appendcellnum ($ riga [$ codice]); / * Altri tipi * / Default: $ export- \u003e APPEND Cullstring (""); )) $ export-\u003e closerow (); $ Export-\u003e flushrow (); ) // Chiudi tutte le esportazioni $-\u003e closeworksheet (); $ Export-\u003e libro di chiusure (); $ export-\u003e closeewriter (); // file zip $ export-\u003e zip (); $ Filename \u003d $ export-\u003e getzipfullfilename (); )
Nel mio caso, ogni riga è registrata sul disco, che è ancora abbastanza accettabile, ma in futuro potrebbe richiedere modifiche. Ad esempio, sarà ragionevole mantenere non ogni riga, e ogni decima o anche cento file alla volta. Quindi la velocità delle esportazioni aumenterà.

Velocità

A proposito, è stato convinto della propria esperienza quanto è importante assumere la possibilità dell'esistenza di grandi quantità di dati in un'operazione in batch, come le esportazioni.
Inizialmente, ha cercato di esportare i dati utilizzando

XML è uno dei formati più comuni per la memorizzazione dei dati e scambiarli tra varie applicazioni. Microsoft Excel funziona anche con i dati, quindi la questione dei file di conversione dallo standard XML a formati Excel è molto rilevante. Scopri come effettuare questa procedura in vari modi.

I file XML sono scritti in un linguaggio speciale di markup con qualcosa di simile alle pagine Web HTML. Pertanto, questi formati hanno una struttura piuttosto simile. Allo stesso tempo, Excel è principalmente un programma che ha diversi formati "nativi". Il più famoso di loro: libro di Excel (XLSX) ed Excel 97 - 2003 Book (XLS). Scopriamo i modi principali per convertire i file XML in questi formati.

Metodo 1: funzionalità Excel incorporata

Il programma Excel funziona alla grande con i file di formato XML. Può aprirli, cambiare, creare, salvare. Pertanto, l'opzione più semplice per le attività degli Stati Uniti è quella di aprire questo oggetto e salvarlo attraverso l'interfaccia dell'applicazione come documenti XLSX o XLS.


Su questo, la procedura di conversione del file XML in formato Excel. Attraverso l'interfaccia del programma è finita.

Metodo 2: importazione dei dati

Il metodo descritto è adatto solo ai file XML con la struttura più semplice. Tabelle più complesse quando la conversione in questo modo può essere tradotta in modo errato. Ma c'è un altro strumento Excel incorporato che aiuterà a importare correttamente i dati. É situato in "Menu per sviluppatori"che è disabilitato per impostazione predefinita. Pertanto, prima di tutto, deve essere attivato.


Pertanto, la conversione nella direzione necessaria per noi sarà effettuata con la massima conversione dei dati corretta.

Metodo 3: convertitore online

Questi utenti che per qualche motivo non sono installati sul computer il programma Excel, ma bisognoso di trasformazione di file urgenti dal formato XML per Excel, è possibile utilizzare uno dei tanti servizi online specializzati per la conversione. Uno dei siti più convenienti di questo tipo è convertio.


Questa opzione può servire come buona politica di sicurezza in caso di aumento dell'accesso a strumenti standard Per riformattare in questa direzione.

Come puoi vedere, ci sono strumenti integrati nell'esimo stesso per convertire un file in formato XML in uno dei formati "nativi" di questo programma. Le istanze più semplici possono essere facilmente convertite attraverso la solita funzione "Salva come ...". Per i documenti con una struttura più complessa, vi è una procedura di conversione separata attraverso le importazioni. Questi utenti che per qualsiasi motivo non possono utilizzare questi strumenti hanno la possibilità di attività utilizzando servizi online specializzati per convertire i file.

Se si desidera creare un file di dati XML e il file Schema XML dall'intervallo di cella sul foglio, è possibile utilizzare la versione 1.1 dello strumento XML per Excel 2003 per espandere le funzionalità XML esistenti in Microsoft Excel 2007 e versioni successive.

Nota: Questa sovrastruttura è stata progettata per Excel 2003. Documentazione e interfaccia utente Fare riferimento agli elenchi, che nelle versioni dell'applicazione successivamente Excel 2003 si chiama tabelle di Excel.

Informazioni aggiuntive Per il lavoro con questa sovrastruttura, vedere l'articolo utilizzando la versione aggiuntiva "XML" 1.1 per Excel 2003.

Azione 2. Conversione della gamma di celle nella tabella XML

    Immettere i dati per i quali si desidera creare il file di dati XML e il file Schema XML. I dati devono essere presentati in un formato tabellare sotto forma di colonne e stringhe (i cosiddetti dati regolari).

    Sulla scheda Sovrastruttura in un gruppo Comandi del menu Fai clic sulla freccia vicino all'iscrizione Strumenti XML. e click. Converti intervallo in lista XML.

    Immettere la gamma di celle di dati che devono essere convertite come collegamento assoluto nella casella di testo.

    Nel campo La prima riga contiene nomi di colonne. Scegliere NonSe la prima riga contiene dati o Se la prima riga contiene intestazioni di colonna e fare clic ok.

    Excel creerà automaticamente uno schema XML, controlla le celle allo schema e creare una tabella XML.

    Importante: Se viene visualizzato Visual Basic Editor e viene visualizzato il messaggio di errore Visual Basic per applicazioni, attenersi alla seguente procedura.

    1. premi il bottone ok.

      Nella riga evidenziata del modulo codice VBA, elimina dalla stringa "50". In altre parole, cambia:
      Xmldoc come msxml.2 . DomDocument50.
      A cui:
      Xmldoc come msxml2. Domdocument.

      Premere il tasto F5 per cercare la seguente riga contenente il testo "xmldoc come msxml2.domdocument50", fare clic su ok E cambia la stringa come nel paragrafo precedente.

      Premere nuovamente F5 per trovare e modificare altre istanze della corsa.

      Se, dopo aver premuto il tasto F5, il messaggio di errore VBA non viene più visualizzato, chiudere l'editor di Visual Basic per tornare al libro. La gamma di celle verrà convertita in una tabella XML.

      Nota: Per visualizzare tutte le schede XML nel libro, nella scheda Sviluppatore in un gruppo XML. premi il bottone Una fonte Per visualizzare l'area di attività "sorgente XML". Nella parte inferiore dell'area di attività "Source XML", fare clic su Carte XML..

      Se la scheda Sviluppatore Non visibile, seguire i primi tre passaggi specificati nella sezione successiva per aggiungerlo al nastro Excel.

Azione 3. Esporta Tabella XML in dati XML (XML)

Nota: Quando si creano schede XML ed esporta i dati per Excel a file XML, c'è un limite al numero di righe che possono essere esportate. Durante l'esportazione in un file XML da Excel, è possibile risparmiare fino a 65.536 linee. Se il file contiene più di 65.536 linee, Excel sarà in grado di esportare solo le prime linee (il numero di righe Mod 65 537). Ad esempio, se il foglio contiene 70.000 righe, Excel Exports 4464 linee (70.000 mod 65 537). Si consiglia di seguire uno dei seguenti suggerimenti: 1) Utilizzare il formato XLSX; 2) Salvare il file nel formato "Tabella XML 2003 (* .xml)" (il confronto sarà perso); 3) Elimina tutte le linee dopo 65.536 e quindi esporta nuovamente (mentre la mappatura viene salvata, ma le linee verranno perse alla fine del file).

XML è formato universale Lavorare con i dati. Supporta molti programmi, anche dalla sfera DBMS. Pertanto, la conversione delle informazioni in XML è importante dal punto di vista dell'interazione e dello scambio di dati tra varie applicazioni. Excel è solo tra i programmi che funzionano con le tabelle e possono persino eseguire manipolazioni con i database. Scopriremo come convertire i file Excel in XML.

Conversione dei dati B. formato XML. Non è un processo così semplice, dal momento che nel suo corso dovrebbe essere creato lo schema speciale (schema.xml). Tuttavia, per convertire le informazioni in il file più semplice questo formato Basta avere a disposizione normali strumenti di conservazione, ma per creare un elemento ben strutturato dovrà essere accuratamente tonata con la compilazione del circuito e la sua connessione al documento.

Metodo 1: semplice risparmio

In Excel, è possibile salvare i dati in formato XML, semplicemente utilizzando il menu "Salva come…". È vero, non vi è alcuna garanzia che tutti i programmi funzionino correttamente con il file che è stato creato in questo modo. Sì, e non in tutti i casi questo metodo funziona.


Pertanto, verrà eseguita la trasformazione del file dal formato Excel in XML.

Metodo 2: Strumenti per sviluppatori

È possibile convertire il formato Excel in XML utilizzando gli strumenti Developer nella scheda Programma. Allo stesso tempo, se l'utente ha tutto correttamente, quindi all'output, riceverà, a differenza del modo precedente, un file XML completo che verrà percepito correttamente applicazioni di terze parti. Ma ho bisogno immediatamente di dire che non ogni nuovo arrivato potrebbe avere abbastanza conoscenze e abilità impareranno immediatamente a convertire i dati in questo modo.

  1. Per impostazione predefinita, la scheda Strumento dello sviluppatore è disabilitata. Pertanto, prima di tutto, è necessario attivarlo. Vai alla scheda "File" e clicca sull'articolo "Parametri".
  2. Nella finestra aperta dei parametri, passare alla sottosezione "Setup del nastro". Nel lato destro della finestra, abbiamo impostato un segno di spunta vicino al valore "Sviluppatore". Dopo di che clicziamo sul pulsante Okposto nella parte inferiore della finestra. La scheda degli strumenti dello sviluppatore è ora abilitata.
  3. Quindi, aperto tavolo Excel. Nel programma in qualsiasi modo conveniente.
  4. Sulla sua base, dobbiamo creare uno schema formato in qualsiasi editor di testo. Per questi scopi, puoi usare il solito Notebook Windows.Ma è meglio applicare un'applicazione specializzata per la programmazione e la lavorazione con i linguaggi del blocco note ++. Esegui questo programma. Creare uno schema in esso. Sul nostro esempio guarderà, come mostrato nella parte inferiore nello screenshot della finestra Blocco note ++.

    Come vediamo, il tag di apertura e chiusura per il documento nel suo complesso serve "Set di dati". Nello stesso ruolo per ogni riga prottruda il tag "Disco". Per lo schema, sarà sufficiente se prendiamo solo due file del tavolo e non traduciamo tutto manualmente in XML. Il nome della colonna del tag di apertura e chiusura può essere arbitrario, ma in questo caso, per comodità, abbiamo preferito semplicemente tradurre gli altoparlanti di lingua russo a inglese. Dopo aver effettuato i dati, semplicemente salvarli attraverso la funzionalità. editor di testo ovunque sul disco rigido in formato XML chiamato "Schema".

  5. Ancora una volta, vai al programma Excel con il tavolo già aperto. Sposta nella scheda "Sviluppatore". Sul nastro nel blocco degli strumenti "XML" Clicca sul pulsante "Una fonte". Nel campo che si apre sul lato sinistro della finestra, fare clic sul pulsante "Carte XML ...".
  6. Nella finestra che si apre, fai clic sul pulsante "Inserisci ...".
  7. Viene avviata una finestra di selezione sorgente. Vai alla Directory di localizzazione dello schema preparato in precedenza, sceglierlo e clicca sul pulsante "Aperto".
  8. Dopo che gli elementi di schema sono apparsi nella finestra, trascinali utilizzando il cursore sulle celle corrispondenti dei nomi delle colonne della tabella.
  9. Fare clic con il tasto destro del mouse sulla tabella risultante. NEL menù contestuale Andare in modo coerente gli oggetti "XML" e "Esportare…". Dopodiché, salva il file in qualsiasi directory.

Come puoi vedere, ci sono due modi principali per convertire i file XLS e XLSX in formato XML programma Microsoft Eccellere. Il primo è estremamente semplice ed è composto nella procedura elementare per il risparmio con una determinata espansione attraverso la funzione "Salva come…". Facile e più chiara questa opzione.Indubbiamente, sono vantaggi. Ma ha un inconveniente molto serio. La trasformazione viene eseguita senza tenere conto di determinati standard, e pertanto il file convertibile con questo metodo, le applicazioni di terze parti potrebbero semplicemente essere riconosciute. La seconda opzione prevede la compilazione della mappa XML. In contrasto con il primo metodo, la tabella, convertita secondo questo schema, soddisferà tutti gli standard di qualità XML. Ma sfortunatamente, non tutti gli utenti saranno in grado di affrontare rapidamente le sfumature di questa procedura.

La campana.

Ci sono quelli che hanno letto questa notizia prima di te.
Iscriviti per ricevere articoli freschi.
E-mail
Nome
Cognome
Come vuoi leggere la campana
Senza spam.