Pag-upload ng data mula sa excel hanggang sa xml. Lumilikha kami ng isang XML file. Pag-edit, pag-save at pag-export

  • 08.12.2020

XML sa Excel at vice versa, tingnan natin ang mga uri ng mga file na ito. Dito dapat tandaan kaagad na ang mga dokumento ng Excel ay may maraming mga format, habang ang XML ay ang format ng file. Samakatuwid, huwag malito ang dalawang konseptong ito.

Ang Microsoft Excel ay isang malakas na programa sa pagkalkula na may maraming mga kapaki-pakinabang na tampok.

Ang Microsoft Excel ay isang espesyal na utility na idinisenyo para sa paglikha at pag-edit ng mga talahanayan. Magagawa mo na ang anumang bagay sa kanila: lumikha ng mga database, chart, formula at iba pang uri ng data. Ito ay isang napakalakas na tool, kaya hindi namin tatalakayin ang lahat ng mga kakayahan nito. Ngayon ang aming layunin ay medyo naiiba, at hindi kami lilihis sa paksa ng talakayan ngayon.

Ang mga XML file, para sa mas madaling pag-unawa, ay idinisenyo upang mag-imbak, makipagpalitan ng iba't ibang data sa pagitan ng mga utility. Ang markup language na ito ay kadalasang ginagamit kapag nagpapadala ng impormasyon sa Internet. At kapag kailangan mong ilipat ang tabular na data mula sa Excel patungo sa site, halimbawa, kakailanganin mong i-convert ang iyong dokumento upang maipakita ito nang tama. Samakatuwid, huwag nating ipagpaliban ang sandali ng katotohanan at agad na tumuloy sa operasyon.

Paano i-convert ang Excel sa XML

Mga mahal na kaibigan, sa katunayan, ang pag-convert ng file ay isang medyo simpleng gawain. Gayunpaman, maaaring makaranas ng mga problema ang ilang user kapag naglilipat ng data, kaya titingnan natin ngayon ang ilang paraan para ipatupad ang aming plano. Samakatuwid, nakakakuha tayo ng pasensya at magpatuloy sa pagkilos:

  1. Ang pinakamadaling paraan, na maaaring hindi gumana sa ilang mga kaso, ay ang pag-save ng file sa nais na format sa mismong programa ng Microsoft Excel. Upang gawin ito, buksan ang kinakailangang dokumento sa application na ito. Pagkatapos ay mag-click sa pindutan ng "File" (isinasaalang-alang gamit ang halimbawa ng Office 2013, sa ibang mga bersyon ang proseso ng pag-save ay maaaring bahagyang naiiba) sa kaliwang sulok sa itaas ng Excel window, pagkatapos ay ang item na "Save As", pagkatapos ay piliin ang lokasyon para i-save ang dokumento, bigyan ito ng pangalan at sa uri ng tab file, piliin ang "XML data". Pagkatapos nito, suriin kung ang lahat ay gumana nang tama para sa iyo. Kung hindi, pagkatapos ay subukan ang mga sumusunod na pamamaraan.
  2. Kaya, kung ang error ay nangyari sa nakaraang kaso, marahil ang iyong kopya ng programa ay hindi nagbibigay ng suporta at naaangkop na mga add-on. Upang i-install ang mga ito, pumunta sa website ng Microsoft http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=3108, i-download at i-install ang file na ito sa iyong computer o laptop. Susunod, ilunsad ang programa ng Microsoft Excel at mag-click sa malaking kulay na pindutan sa itaas na kaliwang sulok ng window ng application (narito, tinitingnan na natin ang isang halimbawa sa 2007 na bersyon). Sa block na lilitaw, mag-click sa mga parameter sa kaliwa ng exit mula sa utility. Pumunta ngayon sa item ng mga add-on at mag-click sa pindutang "Go" sa tapat ng item na "Pamahalaan". Lilitaw ang isang dialog box kung saan kailangan mong mag-click sa pagsusuri at hanapin ang dokumentong na-download mo mula sa website ng Microsoft kanina. Ngayon i-click ang OK at pumunta sa pangunahing window ng programa, kung saan mayroon ka na ngayong tab na XML Tools - kasama nito madali ka na ngayong lumikha ng isang XML file mula sa isang umiiral na talahanayan. Kailangan mong i-save ito sa parehong paraan tulad ng nakaraang talata.
  3. Kung hindi mo nais na i-download ang iyong sarili at ang iyong computer na may ganoong impormasyon, maaari kang gumamit ng tulong ng mga espesyal na utility ng converter o mga online na bersyon ng mga program na ito. Halimbawa, maaari mong i-download ang Format Factory na application, na magbibigay-daan sa iyong kumpletuhin ang lahat ng kinakailangang aksyon. Ngunit ito ay nagkakahalaga ng pag-alala na ang mga file na na-save at na-convert sa ganitong paraan ay hindi palaging gagana sa hinaharap. Iyon ay, sa panahon ng operasyon, ang mga sektor o lugar sa memorya ng dokumento ay maaaring masira, na negatibong makakaapekto dito - maaaring hindi ito mabuksan sa isang XML editor, halimbawa. Samakatuwid, inirerekumenda na gumamit ng alinman sa mga propesyonal na programa o Microsoft Excel mismo.

Paano isalin ang XML sa Excel

Bago isalin ang XML sa Excel, kailangan mo muna itong buksan. Tingnan natin ang maikling prosesong ito sa ibaba. Kaya magsimula tayo:

  1. Ilunsad ang program gamit ang isang shortcut sa desktop o sa pamamagitan ng menu ng explorer.
  2. I-click ang "Buksan ang Higit pang Mga Aklat" sa ibaba ng homepage kung gumagamit ka ng Opisina Maaaring bahagyang naiiba ang proseso sa ibang mga bersyon.
  3. Susunod, mag-click sa "Computer" o ibang lugar kung saan matatagpuan ang iyong XML file, pagkatapos ay i-click ang "Browse" at baguhin ang uri ng data sa "XML Files" sa lalabas na window.
  4. Ngayon hinahanap namin ang kinakailangang file at buksan ito sa aming programa gamit ang pindutan ng parehong pangalan.
  5. Susunod, tatalakayin natin kung paano baguhin ang ating dokumento. Pumunta sa tab ng developer, pagkatapos ay mag-click sa pindutan ng pag-import.
  6. Sa window na bubukas, kakailanganin mong hanapin at piliin muli ang aming dokumento, kung saan nais mong magsagawa ng isang aksyon, pagkatapos ay mag-click sa pindutang "Import".
  7. Pagkatapos ay iko-customize mo ang lahat para sa iyong sarili: ang lugar para sa pag-import, ang lokasyon ng pag-save at iba pang mga parameter. Pagkatapos nito, makakatanggap ka ng isang talahanayan, na maaari mong i-save sa ibang pagkakataon sa format na kailangan mo. Tulad ng nakikita mo, walang kumplikado.

Summing up

Minamahal na mga mambabasa, ngayon natutunan namin hindi lamang kung paano i-convert ang mga XML file sa Excel at vice versa, kundi pati na rin kung paano lumikha at buksan ang mga ito kapag ang mga bersyon ay hindi tugma. Umaasa kami na naging maayos ang lahat para sa iyo at wala nang mga katanungan pa. Huwag kalimutang ibahagi ang iyong opinyon at karanasan sa mga komento: marahil alam mo ang isang simpleng paraan upang mag-convert. Sabihin sa ibang mga user kung nagawa mong isalin ang isang uri ng dokumento. Kung ito ay gumana, mangyaring ibahagi ang paraan na iyong ginamit.


Matagal na akong nagtatrabaho sa mga XML file, ngunit ngayon ko lang naitanong sa sarili ko: Paano lumikha at mag-edit ng mga XML file sa MS Excel gamit ang mga karaniwang tool? Ang Excel ay isang maginhawa at intuitive na tool para sa paglikha, pag-edit at pagproseso ng iba't ibang data. Ang Excel ay pinag-aaralan sa paaralan at, malamang, walang tao na nakakaalam kung paano magtrabaho sa isang PC at hindi alam ang mga pangunahing kaalaman sa pagtatrabaho sa Excel. Samakatuwid, sa aking opinyon, ito ang pinaka-angkop na tool na maaaring irekomenda sa mga ordinaryong gumagamit para sa paglikha at pag-edit ng mga file ng data para sa iba't ibang mga application, kabilang ang mga Web application. Mayroon akong MS Excel 2013 na naka-install sa bahay at, gamit ang halimbawa nito, ilalarawan ko ang mga simpleng pamamaraan na dapat gawin kapag lumilikha ng XML data file sa Excel. Sa tingin ko ay gagana rin ito sa mga naunang bersyon ng Excel. Gumawa tayo ng ilang simpleng hakbang upang lumikha ng XML data file. Isaalang-alang natin ang mga ito sa halimbawa ng paggawa ng file ng data ng kaganapan.

1. Una kailangan mong lumikha at punan ang isang talahanayan ng data sa Excel alinsunod sa istraktura ng data. Mangyaring gamitin ang menu item para dito Ipasok/Talahanayan.

2. Gawin natin ang schema ng XML file. Upang gawin ito, sa isang text editor, ipasok ang mga sumusunod na linya at i-save ang mga ito sa isang file.

XHTML

0 0 0 0 Ang Banal na Pagkabuhay ni Kristo. Pasko ng Pagkabuhay 0 0 -7 0 -7 Pagpasok ng Panginoon sa Jerusalem 1

0

0

0

0

Ang Banal na Pagkabuhay ni Kristo. Pasko ng Pagkabuhay

0

0

-7

0

-7

Pagpasok ng Panginoon sa Jerusalem

1

3. Ngayon buksan ang tab Nag-develop, pindutin ang pindutan Isang source at tukuyin ang XML source file. Kung kinakailangan, paganahin ang item sa menu Nag-develop sa Excel Preferences.

4. Nananatili itong tumugma sa mga elemento ng scheme at sa mga column ng talahanayan sa pamamagitan ng pag-drag sa mga elemento sa kaukulang mga heading ng column.

5. At ang huling hakbang: i-export ang data ng talahanayan sa isang XML file gamit ang menu ng konteksto. Tumayo sa anumang cell ng talahanayan, pindutin ang kanang pindutan ng mouse, piliin XML/I-export... at i-save ang XML file na may nais na pangalan.

I-save ang Excel file para sa pag-edit at mga karagdagan sa ibang pagkakataon. Sa mga sumusunod na talata 1.-4. hindi na kailangang gawin!

P.S. Bakit ko isinulat ang banal na talang ito? Una, upang hindi makalimutan ang iyong sarili, at pangalawa, sa palagay ko ang impormasyong ito ay magiging kapaki-pakinabang sa mga gumagamit, simula sa susunod na bersyon 0.6 ;-)

Kung nagtatrabaho ka sa isang lokal na computer, ang isang dokumento na ginawa sa Microsoft Office ay nai-save bilang default sa isang binary na format na may extension na .doc, .xls, .ppt, atbp., depende sa application kung saan ito ginawa. Ang dokumento ng Word ay maaaring i-save bilang HTML(Hypertext Markup Language) at XML (napapalawak na Markup Language- extensible markup language) at i-publish ito sa corporate network o sa Internet sa pamamagitan ng pagpili mula sa menu file utos I-save bilang Web Page(I-save Bilang Web Page). Patlang Uri ng file(I-save bilang uri) dialog box ng command upang i-save ang file sa mga format tulad ng: Pahina ng web(Pahina ng web), Web page na may filter(Web Page, Na-filter) at Web archive(web archive). Format Pahina ng web(Web Page) ay nagpapanatili ng lahat ng mga kakayahan sa pag-edit ng dokumento sa HTML na format. Format Web page na may filter(Web Page, Na-filter) ay nag-aalis ng bahagi ng HTML code at binabawasan ang laki ng file. Binibigyang-daan ka ng Single file na Web Page na format na magpadala ng content (text at graphics) sa isang *.mht, *.mhtml file.

Kapag gumagamit ng alinman sa mga format sa itaas, ang lahat ng mga opsyon sa pag-format ay pinapanatili sa bawat dokumento. Maaaring tingnan ng mga user sa isang corporate network o sa Internet na walang Microsoft Office na naka-install sa kanilang mga computer ang mga file na naka-save sa HTML o XML na mga format sa isang browser o iba pang mga Internet viewer.

Nagbibigay ang Office ng mataas na katapatan sa isang naka-format na window ng browser ng dokumento na eksaktong kapareho ng hitsura nito sa window ng application. Ang mga setting para sa mga chart at drawing, gaya ng mga kulay at katangian ng linya, ay naka-save. Ang isang baguhang user na hindi alam kung paano mag-program ay maaaring lumikha ng isang web page sa Office 2003 at i-publish ito sa isang web server nang hindi nawawala ang kalidad at functionality ng dokumento. Ang awtomatikong pagtuklas ng HTML at XML encoding ay nagbibigay-daan sa iyo na makita ang mga tamang character sa anumang kapaligiran ng wika.

Mga tampok ng pag-save ng mga file sa HTML na format

Mayroong static at dynamic na mga format ng HTML. Ang static na format ay ginagamit sa mga kaso kung saan ang data ay bihirang magbago, ang dynamic na format ay ginagamit kapag ito ay kinakailangan upang ipakita ang pinakabagong data sa oras ng paglalathala. Tandaan na sinusuportahan na ng Access 2002 ang pag-convert ng mga bagay sa dalawang dynamic na format ng HTML: ASP ( Mga Active Server Page) at IDC/HTX. Ang isang asp file ay ginagamit para sa mga dynamic na web page, ang isang idc file ay naglalaman ng isang query sa anyo ng isang SQL statement, at isang htx file ay naglalaman ng mga command at tagubilin sa pag-format. Sa halip na data sa mga file na may extension ng htx. Kasama ang mga template na nagpapahiwatig kung saan ilalagay ang data mula sa isang query sa isang file na may extension ng idc.

Kapag nag-save ka ng dokumento sa HTML na format, ang Office 2003 ay lumilikha ng isang HTML file (halimbawa, otchet.htm) sa tinukoy na direktoryo at isang folder ng parehong pangalan na kinabibilangan ng lahat ng mga file ng suporta sa dokumento at isang pangunahing file ng kontrol. Ang bawat figure, spreadsheet, presentation slide, set ng auxiliary data ay inilalagay sa isang hiwalay na file. Ang lahat ng mga graphics ay awtomatikong na-convert sa .GIF, JPG, JPEG o .PNG depende sa nilalaman. Halimbawa, sine-save ang line art bilang GIF, habang ang mga litrato ay sine-save bilang JPEG. Kapag inililipat ang mga naturang dokumento, dapat mong kopyahin ang parehong pangunahing HTML file at ang folder na may mga auxiliary file. (Tingnan ang "Mga Uri ng File na Ginagamit upang Magpakita ng Mga Larawan at Graphics sa isang Web Page" sa ibaba para sa mga detalye.)

Upang gawing mas madali ang pag-edit ng mga di-raster na graphics na may naaangkop na mga programa, kapag nag-convert ka ng isang dokumento ng Office 2003 sa HTML, ang mga graphics ay nai-save sa parehong native at browser na mga format.

Bilang halimbawa, narito kung paano i-convert ang isang Access database object sa dynamic na HTML na format:

  1. Sa bintana Database(Database) piliin ang nais na bagay gamit ang isang pag-click ng mouse at pumili mula sa menu file(File) na utos I-export(Ipadala sa).
  2. Sa dialog box I-export ang bagay(I-export Sa) sa field Uri ng file(I-save bilang uri) piliin ang linyang Microsoft IIS 1-2 o Microsoft ASP Pages (Microsoft Active Server Pages).
  3. Piliin ang folder kung saan ise-save ang na-export na file at ilagay ang pangalan ng file sa mga letrang Latin sa field Pangalan ng file(Pangalan ng file).
  4. I-click ang button I-export(export).
  5. Kapag ginagamit ang format na Active Server Pages, may lalabas na dialog box .asp file na setting ng output(Microsoft Active Server Pages Output Options), kung saan tinutukoy ang pangalan ng ODBC data source. Gagamitin ito sa web server para ma-access ang data. Ilagay ang address ng server na magho-host ng .asp file.

Paggamit ng Mahalagang XML

Sinusuportahan ng Office 2003 ang XML na wika ( napapalawak na Markup Language- napapalawak na markup language). Ang wikang ito ay nagbibigay ng intuitive na makapangyarihang mga tool para sa pagtutulungan ng magkakasama at malawakang ginagamit sa pagpapalitan ng impormasyon sa Internet, anuman ang ginamit na platform, ang format ng data. Ang format ng XML ay binuo batay sa HTML bilang isang format para sa pangkalahatang representasyon ng data sa mga corporate network at sa Internet. Ito ay may higit pang mga tampok kaysa sa HTML. Ang anumang dokumento ng Office ay maaaring katawanin sa format na ito.

Pinapadali ng XML ang pagkuha ng data mula sa mga dokumento ng Office 2003 patungo sa ibang mga XML application. Maaari mong paghiwalayin ang mga nilalaman ng isang dokumento mula sa mga hangganan ng binary format nito. Ang nilalaman ay ginawang magagamit para sa awtomatikong pagkolekta ng data at mga proseso ng pagsusuri, na may kasunod na pagsasaayos. Ang isang XML na dokumento ay maaaring binubuo ng ilang mga file ng iba't ibang uri, halimbawa, isang XML file na naglalaman ng data; isang ASP file na naglalaman ng isang web page para sa pagtingin sa isang dokumento; xsd file na naglalaman ng isang paglalarawan ng istraktura ng data, atbp. Maaaring matingnan ang isang dokumento sa Internet Explorer na bersyon 5 at mas mataas. Ang HTML file ay naglalaman ng isang script na naglo-load ng data mula sa isang XML source.

Hindi tulad ng mga generic na HTML tag, ang mga XML tag ay maaaring baguhin ng mga developer at samakatuwid ay dapat ipasa sa software na gumagamit ng mga ito. Nilalayon ng Microsoft na gamitin ang mga XML form na eksklusibo sa corporate market. Dahil ang ilang mga browser ay hindi gumagana sa XML, nagbibigay ang Word ng kakayahang mag-save ng isang dokumento bilang isang na-filter na Web page nang hindi gumagamit ng mga XML tag. Upang gamitin ang tampok na ito sa menu Serbisyo(Mga tool) piliin ang utos Mga Parameter(Mga Opsyon) at pagkatapos ay buksan ang tab Heneral(General), pindutin ang button Mga Pagpipilian sa Dokumento sa Web(Web Options) at pumunta sa tab Mga reviewer(Mga Browser), piliin o i-clear ang check box na I-disable ang mga feature na hindi sinusuportahan ng browser na ito. Ang isang hanay ng mga XML tag na tumutukoy sa mga elemento ng isang dokumento ay tinatawag na schema ( schema).

Ang pag-save at pagbubukas ng mga XML file sa Word 2003 ay maaaring gamitin upang isama sa enterprise core business data. Binibigyang-daan ka ng graphical linking tool sa Excel na i-link ang isang XML schema na tinukoy ng user sa mga cell sa isang Excel spreadsheet.

Ang mga nagmamay-ari ng kahanga-hangang programang TextKit, o hindi bababa sa narinig nito (na hindi nakarinig, mapilit) ay dapat na napansin kasama ng mga kakayahan nito ang pag-parse ng mga XML na dokumento sa anumang template. Ibig sabihin, kung mayroon tayong XML na dokumento, madali tayong makakapagluto ng isang site gamit ang TextKit.

May nananatiling isang maliit na problema, kung paano makuha ang XML na ito. Sa katunayan, para sa mga layunin ng paglikha ng isang site, maaari kang kumuha ng mga handa na dokumento mula sa iba't ibang mga kaakibat na programa, tulad ng MixMarket o Ozone. Ngunit tungkol sa kanila sa ibang pagkakataon. Ipapakita ko sa iyo kung paano kumuha ng XML mula sa isang regular na talahanayan ng XLS. Sa katunayan, ito ang format ng MS Excel.

Ang pagkakaroon ng kaalamang ito ay magbibigay-daan sa amin na gumawa ng mga website gamit ang TextKit mula sa anumang database sa Excel. Magtatrabaho kami sa 2007th office.

1) I-download ang XML plugin mula dito.

2) Pumunta sa pangunahing menu ng Excel, mga pagpipilian.

3) Sa menu na bubukas, piliin ang "Add-in". Hinahanap namin ang item na "Pamamahala", piliin ang "Excel Add-in" at i-click ang "Go":

4) Sa window na bubukas, sa pamamagitan ng "Browse" piliin ang file na kailangan namin XmlTools.xla, idagdag ito sa panel at i-activate ito sa pamamagitan ng pagsuri sa kahon sa tabi nito.

Bilang default, ang file na ito ay naka-imbak sa sumusunod na folder sa iyong hard drive:
\Office Samples\OfficeExcel2003XMLToolsAddin.

5) Kung ginawa mo nang tama ang lahat, pagkatapos ay sa "Mga Parameter" sa seksyong "Mga Add-on" makikita mo ang naka-install na extension:

Ngayon ay kinukuha namin ang aming data upang lumikha ng isang XML na dokumento at magtrabaho kasama nito.

1) Mag-click sa pindutan sa panel. Piliin ang unang item:

2) Sa lalabas na window, piliin ang oo / hindi kung ang aming data ay naglalaman ng / hindi naglalaman ng isang header, sa aking kaso mayroon ito, kaya binago ko ang checkbox sa oo. Dito rin namin pinipigilan ang isang maliit na "pip" upang pumili ng mga cell na may data:

3) Sa pamamagitan ng pag-drag, pipiliin namin ang data upang lumikha ng isang XML na dokumento. Pinindot namin ang "pip" at pindutin ang OK.

Kapag bumubuo ng isang elektronikong sistema ng pamamahala ng dokumento, kinakailangan na ipatupad ang mga function para sa pag-export ng data sa mga sikat na format. Sa partikular, sa format ng Microsoft Excel. Ang mga kinakailangan sa pag-export ay medyo simple - upang i-export ang data na may minimum na pag-format, i.e. walang pinagsamang mga cell, mga laro ng font, atbp. Mga format ng pag-export ng XLSX at Excel XML.

Sa kasong ito, magsasalita ako tungkol sa Excel XML.

Kaya, sa anumang system na tumatakbo sa tabular data, maaga o huli ay may pangangailangan na mag-export ng data. Iba-iba ang mga layunin ng pag-export:

Upang ipatupad sa klase ang isang hanay ng mga pag-andar para sa pagsulat ng mga halaga ng cell at serye ay ang pangunahing kinakailangan, na nagpapahiwatig ng paglikha ng mga function para sa pagsulat ng mga halaga ng cell ng mga tinukoy na uri at ang kakayahang isulat ang natapos na serye sa isang file.

Ang kakayahang magtrabaho sa isang walang limitasyong dami ng data - siyempre, ang klase ng pag-export mismo ay hindi maaaring maging responsable para sa dami ng isinusulat, ngunit dapat itong magbigay ng mga function para sa pagsulat ng data sa disk at pagpapalaya ng RAM para sa susunod na bahagi ng data.

Bilang karagdagan sa inilarawan na mga kinakailangan, kinakailangan upang magdagdag ng mga function ng serbisyo:

  • Paganahin ang AutoFilter
  • Pag-compress ng file sa zip .

Pagpapatupad

Una sa lahat, kapag lumilikha ng isang klase, sinusuri ko ang panghuling pangalan ng file at hinihiling ang bilang ng mga haligi at hilera. Dapat ay may tamang pangalan ang file, at dapat na umiiral ang folder kung saan ito ise-save. As usual ang lahat.
Ang Excel XML format ay nagbibigay-daan sa iyo upang i-save ang impormasyon tungkol sa user na lumikha nito sa file, samakatuwid, kapag lumilikha ng isang header, isinulat ko ang pangalan ng organisasyon, impormasyon tungkol sa user at ang petsa kung kailan nilikha ang file.

Public function writeDocumentProperties($organisasyon = null, $user = null) ( fwrite($this->file, " "); kung (!is_null($user)) ( fwrite($this->file, " ".$user->paglalarawan.""); fwrite($this->file, " ".$user->paglalarawan.""); ) $dt = bagong Petsa(); $dt_string = $dt->format("Y-m-d\TH:i:s\Z"); fwrite($this->file, " ".$dt_string.""); fwrite($this->file, " ".$dt_string.""); if (!is_null($organization)) fwrite($this->file, " ".$organisasyon->pangalan.""); fwrite($this->file, " 12.00"); fwrite($this->file, ""); }
Totoo, nasa function na ito na ginagamit ang mga entity ng workflow system - organisasyon (organisasyon) at user (user). Ang pagpapalit sa mga entity na ito ng, sabihin nating, ang mga halaga ng string ay hindi isang problema.

Ang pinaka-kagiliw-giliw na bahagi ng header ay ang impormasyon ng istilo. Sa Excel XML format, ang mga ito ay ipinatupad nang napaka-maginhawa, kaya gumawa lang ako ng isang talahanayan na may mga estilo para sa mga string, petsa / oras at hyperlink.

Pampublikong function writeStyles() ( fwrite($this->file, ""); //default style fwrite($this->file, ""); //Datetime style fwrite($this->file, ""); fwrite($this->file, ""); fwrite($this->file, ""); //Hyperlink style fwrite($this->file, ""); //Bold fwrite($this->file, ""); fwrite($this->file, ""); }

Natapos ang paghahanda sa trabaho, maaari kang magpatuloy sa pag-record ng data. Ang pagbubukas ng worksheet ay ilang mga tag lamang, sa sandaling ito ay ginagamit ang impormasyon tungkol sa bilang ng mga column at row.

pampublikong function na openWorksheet() ( fwrite($this->file, " "); fwrite($this->file, strtr("

", array("(col_count)" =>$this->colCount, "(row_count)" =>$this->rowCount))); )
Ngunit narito ang pag-record ng serye ay isang mas kawili-wiling proseso. Ang klase ay dapat gumana nang mabilis at magproseso ng walang limitasyong dami ng data, dahil maaaring mayroong daan-daang libo o kahit isang milyong talaan! Kung gusto mo ng bilis - gumana sa memorya, kung gusto mo ng walang limitasyong dami ng data - gumana sa disk. Para i-reconcile ang mga kinakailangan, ipinatupad ko ang resetRow at flushRow function.
Ang una ay nililimas ang kasalukuyang hilera, pagkatapos ay maaari itong mapunan muli ng data, at ang pangalawa ay nagsusulat ng kasalukuyang hilera sa isang bukas na file sa disk. Ang kanilang pinagsamang paggamit ay nagpapahintulot sa iyo na mapanatili ang isang balanse sa pagitan ng bilis at ang dami ng memory na ginamit.

public function resetRow() ($this->currentRow = array(); ) public function flushRow() ( fwrite($this->file, implode("", $this->currentRow));unset($this-> kasalukuyangRow);)
Ang bawat cell ay nakasulat na may isang function na naaayon sa uri ng data, katulad ng appendCellxxx, kung saan ang xxx ay ang uri ng data. Mga wastong uri ng data: Num, String, Real, DateTime, Petsa, Oras, Link. Isang halimbawa ng isang function para sa pagsulat ng isang numeric na halaga:

Pampublikong function appendCellNum($value) ($this->currentRow = " ".$value.""; }
Matapos i-record ang lahat ng data, nananatili itong isara ang worksheet at workbook.

Aplikasyon

Ang paggamit ng inilarawang klase ay batay sa pag-export ng data gamit ang CArrayDataProvider provider. Gayunpaman, kung ipagpalagay na ang halaga ng na-export na data ay maaaring napakalaki, isang espesyal na iterator na CDataProviderIterator ang ginagamit, na umuulit sa ibinalik na data ng 100 mga tala (maaari kang tumukoy ng ibang bilang ng mga tala).

Pampublikong function exportExcelXML($organisasyon, $user, &$filename) ( $this->_provider = bagong CArrayDataProvider(/*query*/); Yii::import("ext.AlxdExportExcelXML.AlxdExportExcelXML"); $export = bagong AlxdExportExcelXML ($filename, count ($this->_attributes), $this->_provider->getTotalItemCount() + 1); $export->openWriter(); $export->openWorkbook(); $export->writeDocumentProperties($ organisasyon, $user); $export->writeStyles(); $export->openWorksheet(); //title row $export->resetRow(); $export->openRow(true); foreach ($this->_attributes bilang $code => $format) $export->appendCellString($this->_objectref->getAttributeLabel($code)); $export->closeRow(); $export->flushRow(); //data rows $rows = bagong CDataProviderIterator($this->_provider, 100); foreach ($rows as $row) ($export->resetRow(); $export->openRow(); foreach ($this->_attributes as $code => $format) ( switch ($format->type) (case "Num": $export->appendCellNum($row[$code]); /*iba pang uri*/ default: $export->append CellString(""); ) ) $export->closeRow(); $export->flushRow(); ) //isara ang lahat ng $export->closeWorksheet(); $export->closeWorkbook(); $export->closeWriter(); //zip file $export->zip(); $filename = $export->getZipFullFileName(); )
Sa aking kaso, ang bawat hilera ay nakasulat sa disk, na maayos sa ngayon, ngunit maaaring kailanganing baguhin sa hinaharap. Halimbawa, makabubuting i-save hindi ang bawat hilera, ngunit ang bawat sampu o kahit isang daang hanay sa isang pagkakataon. Pagkatapos ay tataas ang bilis ng pag-export.

Bilis

Sa pamamagitan ng paraan, natutunan ko mula sa aking sariling karanasan kung gaano kahalaga na ipagpalagay ang posibilidad ng pagkakaroon ng malaking halaga ng data sa isang batch na operasyon, tulad ng pag-export.
Sa una, sinubukan kong mag-export ng data gamit ang CActiveDataProvider , na nangangailangan ng humigit-kumulang 240 segundo kapag nag-export ng 1000 record! Sa pamamagitan ng pagpapalit ng query para magamit ang CArrayDataProvider, binawasan namin ang oras ng pag-export para sa 1000 record sa 0.5 segundo!
Lalo na para sa publikasyong ito, sinukat ko ang mga tagapagpahiwatig ng pag-export.
na-export 1626 mga tala mula sa 9 mga katangian na kumakatawan sa impormasyon tungkol sa mga saradong insidente (tingnan ang ITSM).
Paunang view ng na-export na talahanayan
Resulta
(paumanhin, nawala ang larawan pagkatapos i-post)
Mga tagapagpahiwatig ng pag-export
Panghuling laki ng file: 1 312 269
Naka-compress na laki ng file: 141 762
Oras na kinuha: approx. 0.5 sec

Maaaring makuha ng sinumang interesado ang source code ng aking klase nang libre. Basta huwag kalimutang ayusin ang function writeDocumentProperties upang alisin ang organisasyon at mga entity ng system ng workflow ng user, o gumamit ng sarili nilang mga katulad na entity na may mga naaangkop na katangian.




Computer help site

© Copyright 2022,
rzdoro.ru - Computer help site

  • Mga kategorya
  • bakal
  • Windows 10
  • Pag-scan
  • Windows 7
  • bakal
  • Windows 10
  • Pag-scan
  • Windows 7
  • Iba pa
  • Tungkol sa site
  • mapa ng site
  • Mga contact
  • Advertising