Konvertēt tabulu uz html. Konvertējiet HTML uz Microsoft Excel formātiem

31.12.2023

Klasesbiedri

ALEKSEJS MIČURINS

Pārveidošana no Excel uz HTML:

pareizi, kvalitatīvi, vienkārši

Tātad, mūsu uzdevums ir pareizi konvertēt dokumentu no xls formāta uz HTML formātu, ņemot vērā avota dokumenta formatējumu, un tajā pašā laikā iztikt ar “maz asinīm”

Problēmas paziņojums. Vai arī kāda ir problēma?

Daudzi tīmekļa pārziņi bieži saskaras ar failu konvertēšanas uzdevumu Microsoft Excel uz citiem formātiem. Tas bieži vien ir sarežģīts, jo xls formāts, kā visi zina, nav dokumentēts.

Dažos gadījumos ir iespējams saglabāt Excel datus dokumentētā formātā un pēc tam tos apstrādāt. Bet bieži šī metode nedarbojas apmierinoši. Vienkārši formāti, ērti apstrādei, nespēj saglabāt visu informāciju par dokumenta formatējumu, un sarežģītu formātu apstrādātāja ieviešana ir nepamatoti darbietilpīga.

Piemērs nav tālu jāmeklē. Daudzi uzņēmumi, kuriem ir savas tīmekļa lapas un regulāri tās atjaunina, veic uzņēmējdarbību ar izmantojot Excel. Katru reizi, kad informācija tiek atjaunināta serverī, tīmekļa pārzinis saskaras ar konvertēšanas uzdevumu. Turklāt uzdevumu var sarežģīt šādi aspekti:

Pirmkārt, tās ir dizaina izmaiņas. Programmā Excel sagatavotais cenrādis parasti ir paredzēts drukāšanai uz melnbalta printera. Cenrādis tīmekļa vietnē - Nr. Vismaz šī iemesla dēļ vienkārša "Saglabāt kā tīmekļa lapu" neder (es nerunāju par HTML koda kvalitāti, kas iegūta, saglabājot šādā veidā).

Otrkārt, konvertējot ir jāņem vērā Excel specifika. Piemēram, daudzi cilvēki, kas rediģē cenrādi, plaši izmanto komandu Format/Row/Hide. Šajā gadījumā līnijas augstums kļūst par nulli, un šķiet, ka līnija pazūd no ekrāna un izdrukā. Ir skaidrs, ka šādām rindām nevajadzētu nonākt vietnē. Tomēr tie ir lieliski saglabāti citos formātos un neatšķiras no parastajām, neslēptajām virknēm. Tā rezultātā doktrīna “Saglabāt kā norobežotu tekstu un procesu” nesniedz apmierinošus rezultātus.

Treškārt, cenrādī bieži tiek izmantots formatējums, kura saglabāšana ir ļoti svarīga. Piemēram, dažu produktu nosaukumi var būt izsvītroti vai izcelti ar krāsu kā zīmi, ka šīs preces bija un noteikti būs, bet tagad vairs nav. Daži vienumi var būt slīprakstā un tā tālāk. Visa šī informācija pazūd bez pēdām, ja saglabājat cenrādi vienkāršā formātā, piemēram, kā tekstu, kas atdalīts ar tabulēšanu.

Tātad, mūsu uzdevums ir pareizi konvertēt dokumentu no xls formāta uz HTML formātu, ņemot vērā avota dokumenta formatējumu, un tajā pašā laikā iztikt ar “maz asinīm”.

Es ierosinu sadalīt šo uzdevumu divās daļās. Pirmais ir datu saglabāšana vienkāršā formātā, kas tomēr saturēs visu nepieciešamo informāciju par dokumenta izkārtojumu. Otrais ir šī formāta apstrāde un HTML lapas izveide.

Piedāvāju pirmo uzdevumu (eksportēt) atrisināt, izmantojot Excel. Šeit mums faktiski nav izvēles; xls formātu var apstrādāt tikai vienīgā lietojumprogramma pasaulē, kas to saprot. Tā ir dialektika.

Es ierosinu atrisināt otro problēmu, izmantojot Perl valodu. Kāpēc? Tā kā šī valoda ir vērsta uz darbu ar virknēm un tādu problēmu risināšanu kā mūsējā (Perl — praktiskā izvilkšana un atskaišu valoda — tas ir tas, kas mums vajadzīgs). Jo diezgan daudzi programmētāji, kas nodarbojas ar web izstrādi, zina šo valodu (ja neesat viens no viņiem un plānojat strādāt tīmeklī, tad no sirds iesaku pievērst uzmanību Perl). Tā kā šī valoda ir bezmaksas un pieejama jebkuram lietotājam jebkurā platformā. Un tāpēc, ka manu Perl kodu pēc tam var viegli modificēt, liekot tam, piemēram, ievietot katru cenrāža sadaļu atsevišķā failā, kārtot cenrāža vienumus dažādos veidos, izsekot atjauninājumiem un cenu dinamikai, nodrošināt katru vienumu ar HTML veidlapas laukiem. tiešsaistes pasūtījumam interneta veikalā... Galu galā manu skriptu var viegli pārvērst par CGI lietojumprogrammu tīmekļa servera administrēšanai.

Šis risinājums man šķiet elastīgākais, funkcionālākais un kompaktākais, jo katru problēmas daļu atrisina tās risināšanai vispiemērotākais rīks.

Sāksim ar konkrētu piemēru. Kā “jūrascūciņu” piedāvāju šādu cenrādi (skat. 1. att.).

Kā redzat, tajā ir apvienoti visi iepriekš minētie nepatīkamie elementi: un formatējums (fons, pārsvītrojumi, treknraksts), un slēptās līnijas (vērīgi ieskatoties, pamanīsit, ka aiz devītās rindas ir divpadsmitā rinda). Ķeramies pie tā.

Eksportējiet datus no Excel

Sāksim risināt pirmo problēmu. Lai eksportētu datus no Excel, es piedāvāju vienkāršu makro Visual Basic(rindu numuri ir norādīti tikai komentēšanas ērtībai):

1: Sub table2table()

2: "

3: "makro, kas saglabā atlasīto tabulas fragmentu

4: " teksta formātā ar formatēšanas piezīmēm

5: "

6: ar ActiveWindow.RangeSelection

7: c1 = .Slejas.Sleja

8: c2 = .Slejas.Skaits - 1 + c1

9: r1 = .Rindas.Rinda

10: r2 = .Rindas.Skaits - 1 + r1

11: Beigās ar

12: Ja (r1 - r2 = 0 un c1 - c2 = 0) Tad

13: MsgBox_

14: "kaut kas nav pietiekami iedalīts (taupīšanai) ,-)", _

15: vbCritical, "makro ziņojums"

16: Beigas Ja

17: fileSaveName = Application.GetSaveAsFilename(_

18: InitialFileName:="fails", _

19: fileFilter:="Teksta faili (*.txt), *.txt", _

20: Title:="lapas saglabāšana mūsu formātā")

21: Ja fileSaveName = False, tad

22: MsgBox_

23: "fails netika atlasīts. Netika veiktas nekādas darbības.", _

24: vbCritical, "makro ziņojums"

25: Citādi

28: Atveriet failu SaglabātName izvadei kā #1

29: ja r = r1 līdz r2

30: l = CStr(Rindas(r).Rindas augstums)

31: ja c = c1 līdz c2

32: ar šūnām (r, c)

33: l = l + sep + CStr(.Teksts) + _

37: Beigās ar

38: Nākamais

39: Druka Nr. 1, l

40: Nākamais

41: Aizvērt #1

42: Beigas Ja

43: Beigas apakš

Šis makro saglabā atlasīto cenrāža daļu noteiktā failā. Makro var pievienot darba versija cenrādi un izveidojiet pogu, lai to izsauktu (ārpus drukas apgabala), vai arī varat to saglabāt atsevišķā failā. Ievietot to dokumentā ir ļoti vienkārši: izsauciet Visual Basic redaktoru (izvēlne: “Rīki –> Makro –> Visual Basic redaktors”; vai ), izveidojiet jaunu moduli (izvēlne: “Ievietot -> Modulis”) un ievadiet šeit norādīto tekstu (bez rindu numuriem). Tagad varat uzzīmēt pogu (rīku panelī Forms) un piešķirt tai makro.

Īsi apskatīsim, kā šis kods darbojas.

Pirmā rinda ir makro deklarācija. Kā redzat, es to nosaucu vienkārši table2table, var nosaukt skanīgāk.

No 6. līdz 11. rindiņai mēs definējam izvēlētās dokumenta daļas robežas (galu galā saglabāsim tikai atlasīto daļu). Tagad c1 un c2 ir pirmās un pēdējās kolonnas skaitļi, un r1 un r2 ir atlasītā apgabala pirmā un pēdējā rinda.

Tālāk no 12. līdz 16. rindiņai mēs pārbaudām, vai apgabals ir atlasīts, vai arī mūsu makro būs jādarbojas tikai ar vienu šūnu. Tas, protams, nav jādara, taču, visticamāk, šo makro vadīsit nevis jūs, bet gan vadītāji, kas rediģē cenrādi, jūs ne vienmēr varat paļauties uz viņu precizitāti. Tātad, ja nekas nav atlasīts, mūsu makro parādīs brīdinājumu (skat. 2. att.).

No 17. līdz 20. rindiņai tiek izsaukts dialoglodziņš Application.GetSaveAsFilename, lai lietotājs varētu atlasīt faila nosaukumu (sk. 3. attēlu).

Atkal, jūs varat vienkārši norādīt fiksētu nosaukumu, bet es uzskatu, ka tas ir neērti pat tad, ja pats palaižat makro.

No 21. līdz 42. rindiņai ir ja-then-else konstrukcija, kas pārbauda, ​​vai faila nosaukums ir norādīts saglabāšanai, vai arī lietotājs noklikšķināja uz pogas “Atcelt” dialoglodziņā “Saglabāt kā...”.

Ja lietotājs atsakās saglabāt, tiek parādīts atbilstošs ziņojums (no 22. līdz 24. rindai, ja ir norādīts faila nosaukums, tad sākas interesantākā daļa - datu saglabāšana);

Bet pirms mēs pārrunājam saglabāšanas procedūru (no 26. līdz 41. rindiņai), teiksim dažus vārdus tieši par to, kādā formātā mēs plānojam saglabāt datus. Es piedāvāju vienkāršāko apstrādes formātu: ASCII tekstu. Katra rinda atbilst rindai tabulā, kas tiek saglabāta. Lauki ir atdalīti ar vienas rakstzīmes atdalītājiem. Pirmais lauks ir rindas augstums (šī informācija ir nepieciešama, lai filtrētu “slēptās” rindas). Visi nākamie lauki ir šūnu saturs, taču katrā no šiem laukiem ir vairāki apakšlauki, kas atdalīti ar saviem norobežotājiem. Apakšlauki satur dažādu informāciju par šūnu: saturu, formatēšanas opcijas.

Mūsu lauku un apakšlauku atdalītāji ir norādīti ar ASCII kodiem attiecīgi 26. un 27. rindā. Varat izvēlēties ērtākus atdalītājus. Piemēram, ja esat pārliecināts, ka rakstzīme “:” nekad neparādās jūsu datos, varat to izmantot kā atdalītāju vai apakšdalītāju.

Mēs organizējam cilpu pēc rindas (29. rinda).

Katrai līnijai mēs aprēķinām augstumu. Tajā pašā laikā mēs sākam sagatavot rindu, kas jāsaglabā failā mainīgajā l (saraksta 30. rinda).

Ciklā (31. saraksta rinda) caur saglabājamās tabulas rindas šūnām pievienojam rindai l visu mūs interesējošo informāciju par šūnām, nodrošinot to ar atdalītājiem.

Kādas šūnu īpašības mēs saglabājam?

Pirmkārt, šūnas teksts. Lūdzu, ņemiet vērā, ka mēs izmantojam rekvizītu.Text, nevis rekvizītu.Value. Tā nav nejaušība. Rekvizīts.Value atgriež patieso šūnas saturu, rekvizīts.Text atgriež tekstu, kas tiek parādīts monitorā un izdrukāts. Šīs divas vērtības var nesakrist (un parasti nesakrīt), jo vērtības tiek parādītas atbilstoši norādītajam šūnu formātam (piemēram, skaitļi tiek parādīti ar noteiktu zīmju skaitu aiz komata).

Rekvizīts MergeCells norāda, vai šūna ir daļa no sapludināto šūnu grupas.

Rekvizīts.Font.Bold atspoguļo teksta treknumu šūnā.

Rekvizīts.Font.Strikethrough norāda, vai teksts ir izveidots kā pārsvītrots.

Piemēram, mums, iespējams, nekas cits nav vajadzīgs. Tomēr es nevaru nepieminēt vairākas noderīgas īpašības, kas jums var būt noderīgas. Šo īpašumu nosaukumi ir diezgan daiļrunīgi, un es tos nekomentēšu, aprobežošos ar uzskaitījumu:

  • .Fonts.Nosaukums
  • .Fonts.FontStyle
  • .Fonts.Izmērs
  • .Fonts.Pasvītrot
  • .Font.ColorIndex
  • .Fonts.Slīpraksts
  • .Horizontālā izlīdzināšana
  • .Vertikālā izlīdzināšana
  • .ColorIndex
  • .Paraugs

Ņemiet vērā, ka funkcija CStr (no 33. līdz 36. rindiņai) visus rekvizītus tieši pārsūta virknes tipam. Šī ir ļoti noderīga procedūra, kas uz visiem laikiem pasargās jūs no galvassāpēm, kas saistītas ar tipu konvertēšanu.

Šeit ir jāizdara svarīgs brīdinājums. Lieta ir tāda, ka CStr funkcija nespēj apstrādāt nenoteiktas vērtības. Ja tie parādās jūsu dokumentos, CStr vietā varat izmantot savu funkciju vērtību konvertēšanai teksta formātā. Piemēram, safeCStr:

1: funkcija safeCStr(p kā variants) kā virkne
2: Ja IsNull(p) Tad safeCStr = "" Citādi safeCStr = CStr(p)
3: beigu funkcija

Jāpiebilst, ka es pats nekad neesmu saskāries ar šādām situācijām, taču žurnāla zinātniski tehniskais konsultants internetā viegli atrada cenrādi, kurā dažās šūnās nebija definēts īpašība .Font.Bold. Es uzskatu, ka šādi dokumenti var rasties, eksportējot datus no citām lietojumprogrammām. Piemēram, 1C produkti ļauj eksportēt datus uz Excel. Vārdu sakot, tāda situācija ir iespējama. – Autora piezīme.

Tātad, jūs atlasāt saglabājamo apgabalu (mūsu piemērā šīs ir tabulas pirmās trīs kolonnas, no 4. līdz 21. rindai), noklikšķiniet uz izveidotās pogas, atlasiet faila nosaukumu un fails tiek saglabāts. Ko ar to darīt tālāk?

HTML lapas izveide no eksportētajiem datiem

Ar šo failu varat darīt visu, ko vēlaties, jo tā formāts mums ir pilnībā zināms (patīkami to zināt). Es sniegšu piemēru HTML lapas ģenerēšanai.

Kā jau teicu, es piedāvāju Perl skriptu:

1: #!/usr/bin/perl -w

3: #lietojiet stingru;

5: # my ($TRUE, $FALSE)=("Patiesa", "Nepatiesa");

6: my ($TRUE, $FALSE)=("Patiesa", "Nepatiesa");

8: sub qtnum (

9: mans $t=shift;

10: $t=~s|,(\d+)|, $1|;

11: atgriešanās $t;

12: }

14: sub qtstring (

15: mans $t=shift;

16: $t=~s/\&/\&/g;

17: $t=~s/\"/\"/g;

18: $t=~s/\>/\>/g;

19: $t=~s/\

20: atgriešanās $t;

21: }

23: drukāt<<"TEXT";

24:

25:

26: noteikta uzņēmuma cenrādis

27:

32:

33:

34:

35:

36:

37:

38:

39:

40:

41:

42:

43:

44:

45:

46:

47:

48:

49:

50: TEKSTS

52: kamēr (<>) {

53: s/[\x0A\x0D]+$//;

54: mans @f=split /\x09/;

55: mans $lh=shift @f;

56: mana ($nosaukums, $usd, $rub)=karte () @f;

57: ja ($ lh) (

58: if ($name->eq $TRUE) ( # procesa sadaļas galvene

59: drukāt "

\n";

62: ) else ( # apstrādā parasto virkni

63: druka<<"TEXT" .

64:

65: onMouseOver="this.className="al";"

66: onMouseOut="this.className = "";">

\n \n \n";

80: }

81: druka<<"TEXT";

82:

83:

84: TEKSTS

85: ) cits (

86: warn "slēptā rinda: ".$name->."\n";

87: }

88: }

90: druka<<"TEXT";

91:

noteikta uzņēmuma cenrādis
produkta nosaukums cena
c.u. berzēt.
" .

60: $vārds-> .

61: "

67: TEKSTS

68: ($name->eq $TRUE?" ":"") .

69: qtstring($nosaukums->) .

70: ($name->eq $TRUE?"":"") .

71: qq|

| .

72: ($usd->eq 

$ TRUE?" ":"") .

73: qtnum($usd->) .

74: ($usd->eq $ TRUE?"":"") .

75:qq|

| .

76: ($ rub->eq 

$ TRUE?" ":"") .

77: qtnum($rub->) .

78: ($ rub->eq $ TRUE?"":"") .

79: "

92:

93:

94: TEKSTS

Skripts ņem ievadi no faila, kas norādīts kā komandrindas parametrs, vai no standarta ievades un izvada HTML kodu standarta izvadei. Tas ir, jūs varat to palaist šādi:

perl fails2html.pl fails.txt > fails.html

vai, piemēram, šādi:

kaķa fails.txt | perl fails2html.pl > fails.html

Izdomāsim, kā šis skripts darbojas (pieņemšu, ka lasītājs ir zināmā mērā pazīstams ar Perl).

Pirmā rinda ir jebkura UNIX skripta standarta maģiskā līnija. Windows lietotāji to var ignorēt. Trešajā rindā ir komentētās stingras lietošanas instrukcijas. Tas jums noderēs tikai atkļūdošanai.

5. un 6. rindā mēs definēsim mainīgos $ TRUE un $ FALSE, kas satur patiesās un nepatiesās vērtības, ko rada Excel. Fakts ir tāds, ka krievu valodā Excel izmanto krievu vārdus, bet Eiropas Excel izmanto angļu valodas vārdus. Komentārā ierakstiet sev piemērotāko rindiņu un komentējiet papildu.

Procedūra qtnum (8. līdz 12. rindiņa) pievieno atzīmes skaitļa ierakstam, pārvēršot "3,14" par "3, 14" Tas ir, centi un santīmi tiks parādīti mazākā fontā. Tas ir tīri kosmētisks pasākums.

Qtstring procedūra (13. līdz 21. rindiņa) kvotu “nedrošas” rakstzīmes: & (un), “ (dubultpēdiņas),< (больше), >(mazāk). Tas, kā jūs saprotat, ir obligāts pasākums.

No 23. līdz 50. rindiņai tiek izdrukāta HTML dokumenta galvene.

Ciklā while (52. līdz 88. rindiņa) mēs nolasām ievades failu rindiņu pa rindiņai, pārvēršam to HTML dokumentā un izvadām uz stdout.

53. rindiņā rindas beigu rakstzīme(s) tiek nogriezta no nākamās lasīšanas rindas. Es neizmantoju standarta Perl chop un chomp funkcijas, jo apstrādājamais fails ir izveidots operētājsistēmā Windows, un apstrādātājs (mūsu Perl skripts) var darboties ar UNIX. Failu var pārsūtīt ļoti eksotiskā veidā. Piemēram, daudzi, iespējams, vēlēsies nedaudz modificēt manu kodu un pārvērst to par CGI lietojumprogrammu sava servera administrēšanai. Tāpēc es nepaļaujos uz standarta funkcijām, bet skaidri paziņoju, ka rindas beigās ir jānoņem visas \x0A un \x0D rakstzīmes.

Pirmais lauks, līnijas augstums, tiek saglabāts mainīgajā $lh (55. rinda). Visi pārējie lauki ir sadalīti apakšlaukos. Rezultātā mainīgajiem $name, $usd, $rub tiek piešķirtas norādes uz masīviem, kas satur visu nepieciešamo informāciju par atbilstošās šūnas saturu un formatējumu. $name – šūna ar preces nosaukumu, $usd – šūna ar cenu dolāros, $rub – šūna ar cenu rubļos. Tas tiek darīts ar vienu rindiņu 56.

Ja līnijas augstums nav nulle, tad mēs izpildām bloku no 58. līdz 84. rindai. Pretējā gadījumā mēs izsniedzam brīdinājumu stderr, ka ir konstatēta un ignorēta slēpta līnija (86. rindiņa).

No pirmā acu uzmetiena tabulas rindu apstrāde var šķist sarežģīta.

Vispirms noskaidrojam, ar ko mums ir darīšana: 58. rindā pārbaudām šūnas īpašības .MergeCells patiesumu ar produkta nosaukumu. Ja šī šūna ir sapludināta, tad tā ir sadaļas galvene, tad tiek izpildīts kods, kas ģenerē galveni (59. līdz 61. rinda).

Ja izrādās, ka mums ir darīšana ar parastu virkni, tad tiek izpildīts cits bloks (63. līdz 79. rinda). Šeit tiek veidota HTML tabulas rinda, kurā tiek ievietoti papildu formatēšanas elementi (tām tabulas rindām, kur tas ir nepieciešams).

Lūdzu, ņemiet vērā, ka savā dokumentā esam iestrādājuši pamata DHTML triku. Tabulā vienmēr ir iezīmēta rinda, uz kuras atrodas peles rādītājs. Tas padara tabulu vieglāk lasāmu. Piekrītiet, ka šādu efektu ir grūti panākt, izmantojot Excel (saglabājot dokumentu kā tīmekļa lapu).

90.–94. rindā mēs izdrukājam dokumenta beigu tagus. Lūdzu, ņemiet vērā, ka programmas faila beigās ir jābūt tukšai rindai. Pretējā gadījumā Perl tulks nevarēs pareizi parsēt pēdējo vārdu ("TEKSTS") (94. rindiņa).

Izvadi skatiet attēlā (82. lpp.).

Piekrītu, bija par ko cīnīties!

BUGS. Ko vēl jūs varat pievienot?

Es nešaubos, ka, lai gan mani piemēri ir pilnībā funkcionāli, daži cilvēki tos izmantos bez mazākajām izmaiņām. Vēlos iemest pāris domas par to, kas šajos skriptos ir uzlabojams, lai tos modificējot nedarītu liekus darbus, bet ar vienu akmeni nokautu pēc iespējas vairāk putnu.

Skripts programmā Visual Basic

Šeit, visticamāk, būs jāmaina saglabāto šūnu parametru kopa. Es piedāvāju sarakstu ar visnoderīgākajiem šī scenārija apspriešanā. Ja jums ir nepieciešams kaut kas eksotisks, skatiet Microsoft dokumentāciju, Range objekta rekvizītus.

Iespējams, daudzi to uzskatīs par trūkumu, ka makro bez nosacījumiem aizstāj esošos failus (ja norādāt esošu failu saglabāšanai). Tas, kā jūs saprotat, ir viegli labojams.

Iespējams, reāliem dokumentiem nebūs grūti formulēt nosacījumus, kādos makro pats noteiks saglabājamo cenrāža (vai cita dokumenta) apgabalu. Tad šo procesu var automatizēt. Mans risinājums (izvēlētās zonas saglabāšana) ir vairāk universāls nekā ērts.

Visbeidzot, lasītājs var pamatoti jautāt, kāpēc Excel makro saglabā slēptās rindas, jo tās var novērst jau eksportēšanas stadijā? Es noņemu cepuri lasītāja vērības priekšā (slepus cerot uz abpusēju žestu pret manu ieskatu). Paslēptās rindas tiešām nav nepieciešams saglabāt, es vienkārši esmu pieradis visu saglabāt. Iemesli? Varbūt joprojām būs vajadzīgas slēptās līnijas. Vai arī jūs varētu vēlēties precīzi zināt, kuras rindas tika ignorētas (mans Perl skripts, kā jūs atceraties, ziņo par katru slēpto rindiņu). Turklāt informācija par rindas augstumu var būt kā kritērijs galveņu identificēšanai... Lai gan, protams, var nedaudz modificēt VB kodu un nesaglabāt slēptās rindas.

Perl skripts

Protams, jūs, visticamāk, būtiski mainīsit visu HTML kodu (kas ir lielākā daļa skripta). Protams, būs jāmaina kolonnu skaits, galvene, daudzi no HTML koda izņems manas tukšās atdalītāju rindas, pievienos ligzdotas tabulas, mainīs DHTML funkcijas, pievienos CSS tabulas... Bet tas nav svarīgākais vai fundamentālas izmaiņas.

Visticamāk, nāksies šo skriptu “iemācīt” sadalīt lielos dokumentus sadaļās un saglabāt šīs sadaļas dažādos failos, jo ļoti vidēja uzņēmuma cenrādis HTML formātā var būt simtiem kilobaitu. Ne katrs tīmekļa pārlūks gaidīs līdz šāda dokumenta lejupielādes beigām. Iespējams, vēlēsities pievienot šķirošanu (ja precēm drukātajā cenrādī un tīmekļa cenrādī ir jābūt citā secībā).

Neapšaubāmi, noderēs esošā cenrāža salīdzināšanas funkcija ar iepriekšējo, kas papildinās informāciju par atjauninājumiem un cenu dinamiku.

Es ieteiktu šādas procedūras (kas nav tieši saistītas ar HTML izkārtojumu) organizēt atsevišķu programmu vai moduļu veidā. Starp citu, daļu darba pie HTML izkārtojuma var uzticēt SSI mehānismam un ļaut skriptam savākt SHTML dokumentu. Vienkāršu rīku komplekts vienmēr ir ērtāks, elastīgāks un pārvaldāmāks nekā viens universāls. Palieciet tālāk no grābekļa, kur staigā mikroviļņu tālruņa un zobu birstes televizora radītāji.

Padomu un ieteikumu sarakstu var turpināt bezgalīgi, bet es domāju, ka esmu jau pamodinājusi jūsu iztēli, un jūs varat tikt galā arī bez manis. Šeit sniegtā piemēra pielāgošana jūsu īpašajiem apstākļiem var prasīt vairākas darba stundas. Bet tad jūs tiksiet dāsni atalgots, jo visi turpmākie informācijas atjauninājumi jūsu tīmekļa serverī tiks veikti tikai ar dažiem tastatūras un peles pieskārieniem!


Ja programmā Excel esat izveidojis jauku izklājlapu un tagad vēlaties to publicēt kā tīmekļa lapu, vienkāršākais veids, kā to izdarīt, ir eksportēt to uz veco labo HTML failu. Šajā rakstā mēs apskatīsim vairākus veidus, kā pārvērst datus no Excel uz HTML, noteiksim katras metodes plusus un mīnusus un sadarbosimies ar jums, lai soli pa solim pabeigtu šo konvertēšanu.

Konvertējiet Excel izklājlapas uz HTML, izmantojot rīku Saglabāt kā tīmekļa lapu

Pieņemsim, ka esat izveidojis bagātīgu pārskatu programmā Excel un tagad vēlaties eksportēt visu šo informāciju, kā arī diagrammu un rakurstabulu uz sava uzņēmuma vietni, lai jūsu kolēģi varētu to skatīt tiešsaistē, izmantojot tīmekļa pārlūkprogrammas, neatverot programmu Excel.

Lai Excel datus pārvērstu par HTML, veiciet šīs darbības. Šie norādījumi attiecas uz Excel 2013, 2010 un 2007.


Padoms: Ja šī ir pirmā reize, kad pārveidojat Excel darbgrāmatu par HTML failu, iespējams, ir ieteicams vispirms saglabāt tīmekļa lapu cietajā diskā, lai vajadzības gadījumā varētu veikt labojumus pirms lapas publicēšanas tiešsaistē vai vietējā tīklā.

komentēt: Excel ģenerētais HTML kods nav ļoti tīrs! Tas būs lieliski, ja, pārveidojot lielu tabulu ar sarežģītu dizainu, jūs to atverat jebkurā HTML redaktorā un pirms publicēšanas notīrīsit kodu. Rezultātā lapa vietnē tiks ielādēta ievērojami ātrāk.

5 lietas, kas jāatceras, konvertējot Excel failus uz HTML

Izmantojot rīku Saglabāt kā tīmekļa lapu, ir svarīgi saprast, kā darbojas tā galvenās opcijas, lai nepieļautu visbiežāk sastopamās kļūdas un izvairītos no visbiežāk sastopamajiem kļūdu ziņojumiem. Šajā sadaļā atradīsit īsu pārskatu par opcijām, kurām jāpievērš īpaša uzmanība, pārveidojot Excel failus uz HTML.

1. Atbalsta faili un hipersaites

Kā zināms, tīmekļa lapās bieži ir attēli un citi atbalsta faili, kā arī hipersaites uz citām vietnēm. Pārvēršot Excel failu tīmekļa lapā, lietojumprogramma automātiski apkopo saistītos failus un hipersaites jūsu vietā un saglabā tos atbalsta mapē.

Saglabājot atbalsta failus, piemēram, diagrammas un fona faktūras, tajā pašā tīmekļa serverī, programma Excel izveido visas saites. radinieks. Relatīvā saite (URL) norāda uz failu tajā pašā vietnē; tas norāda faila nosaukumu vai saknes mapi, nevis pilnu vietnes nosaukumu (piemēram, href=”/images/001.png”). Dzēšot jebkuru vienumu, kas saglabāts kā relatīva saite, programma Microsoft Excel automātiski izdzēš saistīto failu no atbalsta mapes.

Tātad, galvenais noteikums ir Vienmēr saglabājiet tīmekļa lapu un atbalsta failus vienuviet, pretējā gadījumā tīmekļa lapa netiks parādīta pareizi. Ja pārvietojat vai kopējat savu tīmekļa lapu uz citu vietu, pārliecinieties, vai atbalsta mape ir kopēta tajā pašā vietā, pretējā gadījumā saites nebūs pareizas. Ja atkārtoti saglabājat tīmekļa lapu citā vietā, Microsoft Excel automātiski kopēs atbalsta mapi.

Ja saglabājat tīmekļa lapas dažādās vietās vai ja Excel failā ir hipersaites uz ārējām vietnēm, tad šādos gadījumos absolūts saites. Absolūtās saites satur pilnu ceļu uz failu vai tīmekļa lapu, kurai var piekļūt no jebkuras vietas, piemēram: www.your-domain/section/page.htm.

2. Izmaiņu veikšana un tīmekļa lapas atkārtota saglabāšana

Teorētiski varat saglabāt Excel darbgrāmatu kā tīmekļa lapu, pēc tam atvērt iegūto tīmekļa lapu programmā Excel, veikt izmaiņas un atkārtoti saglabāt failu. Tomēr šajā gadījumā daži Excel līdzekļi nebūs pieejami. Piemēram, visas jūsu darbgrāmatā esošās diagrammas pārvērtīsies par neatkarīgiem zīmējumiem, un jūs nevarēsit tās rediģēt programmā Excel, kā to varējāt iepriekš.

Tāpēc vislabākais veids ir vispirms atjaunināt sākotnējo Excel darbgrāmatu ar dažām izmaiņām, pēc tam saglabāt to kā Excel darbgrāmatu (.xlsx) un tikai pēc tam pārvērst to atpakaļ Web lapā.

3. Automātiski pārpublicējiet tīmekļa lapu

Ja esat atzīmējis izvēles rūtiņu blakus opcijai AutoRepublic(Automātiski atkārtoti publicēt) dialoglodziņā Publicēt kā tīmekļa lapu(Publicēt tīmekļa lapu), ko mēs minējām iepriekš šajā rakstā, jūsu tīmekļa lapa tiks automātiski atjaunināta katru reizi, kad saglabājat darbgrāmatu. Šī funkcija ir ļoti noderīga, un tā ļauj vienmēr atjaunināt Excel izklājlapas tiešsaistes kopiju.

Ja iespējojat opciju AutoRepublic(Automātiskā pārpublicēšana), katru reizi, kad saglabājat darbgrāmatu, tiks parādīts ziņojums ar lūgumu apstiprināt, vai vēlaties iespējot vai atspējot automātisko pārpublicēšanu. Ja vēlaties, lai Excel lapa tiktu publicēta automātiski, atlasiet Iespējot…(Iespējot...) un noklikšķiniet uz Labi.

Tomēr var būt apstākļi, kad nevēlaties automātiski publicēt Excel darblapu vai tās elementus, piemēram, ja fails satur konfidenciālu informāciju vai to ir modificējusi kāda persona, kas nav uzticama persona. Šādā gadījumā varat īslaicīgi vai neatgriezeniski atspējot automātisko pārpublicēšanu.

Lai īslaicīgi atspējotu automātisko pārpublicēšanu, atlasiet pirmo opciju, kas norādīta iepriekš minētajā ziņojumā - Atspējojiet automātiskās atkārtotas publicēšanas funkciju, kamēr šī darbgrāmata ir atvērta(Kad šī grāmata ir atvērta, atspējojiet automātiskās pārpublicēšanas funkciju.) Tādējādi pašreizējā Excel sesijā tiks atspējota automātiskā publicēšana, taču tā atkal tiks iespējota nākamajā darbgrāmatas atvēršanas reizē.

Lai neatgriezeniski izslēgtu automātisko pārpublicēšanu visiem atlasītajiem vienumiem, atveriet Excel darbgrāmatu un atveriet dialoglodziņu Publicēt kā tīmekļa lapu(Publicēt tīmekļa lapu) un noklikšķiniet uz pogas Publicēt(Publicēt). Sadaļā Publicējamie vienumi(Publicētie vienumi) sarakstā Izvēlieties(Atlasīt) atlasiet vienumu, kuru nevēlaties publicēt, un noklikšķiniet uz pogas Noņemt(Dzēst).

4. Excel līdzekļi, kas netiek atbalstīti tīmekļa lapās

Diemžēl daži ļoti noderīgi un populāri Excel līdzekļi kļūst nepieejami, pārvēršot Excel lapas uz HTML:

  • Uvārdu formatējums netiek atbalstīts, saglabājot Excel lapu kā Viena faila tīmekļa lapa(šī faila tīmekļa lapa), tāpēc noteikti saglabājiet to kā Web lapa(tīmekļa lapa). Abi tīmekļa lapu formāti neatbalsta histogrammas, krāsu skalas un ikonu kopas.
  • Pagriezts vai vevertikāls teksts netiek atbalstīts, eksportējot datus no Excel uz tīmekļa lapas formātu. Jebkurš pagriezts vai vertikāls teksts darbgrāmatā tiks pārveidots par horizontālu tekstu.

5. Visbiežāk sastopamās grūtības, kas rodas, pārveidojot Excel failus uz HTML

Pārvēršot Excel darbgrāmatu par tīmekļa lapu, var rasties šādas zināmas grūtības.

Reizēm pienāk kāds vadītājs un saka: "Es gribu redzēt šo tabulu vietnē."
Un viņš aiziet.
Parādās divi standarta ceļi:
- vai nu caur kādu administratora paneli redaktorā, izveido tabulu un aizpildi to ar vērtībām;
- vai manuāli tieši html un arī aizpildiet to ar vērtībām.
Un tas ir labi, ja ir 3x5 šūnas un ja ir vairāk.

Saskaroties ar kaut ko līdzīgu pirms dažiem gadiem, es atklāju metodi, kuras pamatā ir Windows Live Writer (programmatūra ziņu rakstīšanai un nosūtīšanai uz dažām emuāru veidošanas platformām) izmantošana.

Tas ir vienkārši. Mēs ielīmējam nokopēto tabulu WLW, izmantojot īpašu pastu, saglabājot formātu.

Pēc tam dodieties uz WLW apakšējo cilni “Avots” un nokopējiet visu milzīgo kodu no lauka

Tas izrādās tāds pats vai gandrīz tāds pats kā oriģinālā. Tas aizņem sekundes, neskaitot vienreizējās izmaksas, kas saistītas ar WLW pievienošanu kādam emuāra kontam.
Piemērs šeit codepen

Rezultātā mēs iegūstam vienu lapu ar 320 teksta rindiņām.

Tur vēl jāatrod, kas jāizmanto...

Dažādos gadījumos var rasties nepieciešamība pārveidot tabulu ar HTML paplašinājumu Excel formātos. Iespējams, jums būs jāpārvērš tīmekļa lapu dati no interneta vai HTML faili, kas tika izmantoti lokāli citiem mērķiem īpašas programmas. Diezgan bieži pārbūve tiek veikta tranzītā. Tas nozīmē, ka viņi vispirms konvertē tabulu no HTML uz XLS vai XLSX, pēc tam apstrādā vai rediģē to un pēc tam pārvērš to atpakaļ failā ar tādu pašu paplašinājumu, lai veiktu sākotnējo funkciju. Tas ir saistīts ar faktu, ka programmā Excel ir daudz vieglāk strādāt ar tabulām. Noskaidrosim, kā var pārvērst tabulu no HTML formāta uz Excel.

HTML formāts ir hiperteksta iezīmēšanas valoda. Objekti ar šo paplašinājumu visbiežāk tiek izmantoti internetā kā statiskas tīmekļa lapas. Taču bieži tos var izmantot vietējām vajadzībām, piemēram, kā palīdzības dokumentus dažādām programmām.

Ja rodas jautājums par datu konvertēšanu no HTML uz Excel formātiem, proti, XLS, XLSX, XLSB vai XLSM, tad nepieredzējis lietotājs var noraut galvu. Bet patiesībā šeit nav nekā briesmīga. Konvertēšana mūsdienu Excel versijās, izmantojot programmā iebūvētos rīkus, ir diezgan vienkārša un vairumā gadījumu samērā pareiza. Turklāt mēs varam teikt, ka pats process ir intuitīvs. Tomēr sarežģītos gadījumos varat izmantot trešo pušu komunālie pakalpojumi. Apskatīsim dažādas iespējas HTML konvertēšanai uz Excel.

1. metode: trešo pušu programmu izmantošana

Tūlīt pievērsīsimies lietošanai trešo pušu programmas failu konvertēšanai no HTML formāta uz Excel. Priekšrocības šo iespēju slēpjas faktā, ka specializētie komunālie pakalpojumi spēj tikt galā ar pat ļoti sarežģītu objektu pārveidošanu. Trūkums ir tāds, ka lielākā daļa no tiem ir apmaksāti. Turklāt uz šobrīd gandrīz viss pienācīgas iespējas Angļu valoda bez rusifikācijas. Apskatīsim algoritmu darbam vienā no visvairāk ērtas programmas lai veiktu augstāk minēto konvertēšanas virzienu - Abex HTML to Excel Converter.

  1. Kad Abex HTML to Excel Converter programmas instalēšanas programma ir lejupielādēta, palaidiet to, veicot dubultklikšķi uz tā ar peles kreiso pogu. Tiek atvērts instalētāja sveiciena logs. Noklikšķiniet uz pogas "Nākamais" ("Nākamais").
  2. Pēc tam tiek atvērts logs ar licences līgumu. Lai tam piekristu, slēdzis jāievieto pozīcijā "Es piekrītu līgumam" un noklikšķiniet uz pogas "Nākamais".
  3. Pēc tam tiek atvērts logs, kurā norādīts, kur tieši programma tiks instalēta. Protams, jūs varat mainīt direktoriju, ja vēlaties, taču nav ieteicams to darīt, ja vien tas nav absolūti nepieciešams. Tāpēc vienkārši nospiediet pogu "Nākamais".
  4. Nākamajā logā ir norādīts, kāds būs programmas nosaukums, kas tiek parādīts sākuma izvēlnē. Arī šeit varat vienkārši noklikšķināt uz pogas "Tālāk".
  5. Nākamajā logā jums tiek lūgts instalēt utilīta ikonu darbvirsmā (pēc noklusējuma iespējota) un panelī, atzīmējot izvēles rūtiņas. ātra palaišana. Mēs iestatām šos iestatījumus atbilstoši savām vēlmēm un noklikšķiniet uz pogas "Nākamais".
  6. Pēc tam tiek atvērts logs, kurā apkopota visa informācija par visiem lietotāja iepriekš veiktajiem programmas instalēšanas iestatījumiem. Ja lietotājs nav ar kaut ko apmierināts, viņš var noklikšķināt uz pogas "Atpakaļ" un attiecīgi rediģējiet iestatījumus. Ja viņš visam piekrīt, tad, lai sāktu instalēšanu, jānoklikšķina uz pogas "Instalēt".
  7. Notiek utilītas instalēšanas procedūra.
  8. Pēc tā pabeigšanas tiek atvērts logs, kurā par to tiek ziņots. Ja lietotājs vēlas nekavējoties palaist programmu automātiski, tad viņam tas ir jānodrošina blakus parametram "Palaist Abex HTML uz Excel pārveidotāju" izvēles rūtiņa ir atzīmēta. Pretējā gadījumā jums tas ir jānoņem. Lai izietu no instalēšanas loga, noklikšķiniet uz pogas "Pabeigt".
  9. Ir svarīgi zināt, ka pirms utilīta Launch Abex HTML to Excel Converter palaišanas neatkarīgi no tā, kā tas tiek darīts, manuāli vai tūlīt pēc lietojumprogrammas instalēšanas, jums ir jāizslēdz un jāaizver visas pakotnē esošās programmas. Microsoft Office. Ja jūs to neizdarīsit, tad, mēģinot atvērt Abex HTML uz Excel Converter, tiks atvērts logs, kurā tiksiet informēts par nepieciešamību veikt šī procedūra. Lai sāktu darbu ar utilītu, šajā logā jānoklikšķina uz pogas "Jā". Ja tajā pašā laikā biroja dokumenti atvērts, darbs tajos tiks piespiedu kārtā pārtraukts, un visi nesaglabātie dati tiks zaudēti.
  10. Pēc tam tiks atvērts reģistrācijas logs. Ja iegādājāties reģistrācijas atslēgu, tad atbilstošajos laukos jāievada tās numurs un savs vārds (iespējams pseidonīms), un pēc tam noklikšķiniet uz pogas "Reģistrēties". Ja vēl neesat iegādājies atslēgu un vēlaties izmēģināt lietojumprogrammas attīrītu versiju, vienkārši noklikšķiniet uz pogas "Atgādināt vēlāk".
  11. Pēc iepriekš minēto darbību veikšanas tieši tiek atvērts programmas Abex HTML to Excel Converter logs. Lai konvertēšanai pievienotu failu HTML formātā, noklikšķiniet uz pogas "Pievienot failus".
  12. Pēc tam tiek atvērts faila pievienošanas logs. Tajā jāiet uz kategoriju, kurā atrodas pārbūvei paredzētie objekti. Tad jums tie ir jāizceļ Priekšrocība šī metode Standarta HTML konvertēšanas uz Excel priekšrocība ir tā, ka varat atlasīt un konvertēt vairākus objektus vienlaikus. Kad faili ir atlasīti, noklikšķiniet uz pogas "Atvērt".
  13. Atlasītie objekti tiks parādīti galvenajā utilīta logā. Pēc tam noklikšķiniet uz apakšējā kreisā lauka, lai atlasītu vienu no trim Excel formāti, kurā failu var konvertēt:
    • XLS (noklusējums);
    • XLSX;
    • XLSM (ar makro atbalstu).

    Mēs izdarām izvēli.

  14. Pēc tam dodieties uz iestatījumu bloku "Izvades iestatījums" ("Izvades iestatījumi"). Šeit precīzi jānorāda, kur tiks saglabāti konvertētie objekti. Ja slēdzi iestatāt pozīcijā "Saglabāt mērķa failu(s) avota mapē", tad tabula tiks saglabāta tajā pašā direktorijā, kurā atrodas avots HTML formātā. Ja vēlaties saglabāt failus atsevišķa mape, tad, lai to izdarītu, slēdzi vajadzētu pārvietot pozīcijā "Pielāgot". Šajā gadījumā pēc noklusējuma objekti tiks saglabāti mapē "Izvade", kas savukārt atrodas diska saknes direktorijā C.

    Ja vēlaties norādīt vietu, kur objekts tiek saglabāts, noklikšķiniet uz pogas, kas atrodas pa labi no adreses lauka.

  15. Pēc tam tiek atvērts logs ar mapju pārskatu. Jums jāpārvietojas uz direktoriju, kuru vēlaties norādīt kā saglabāšanas vietu. Pēc tam jums vajadzētu noklikšķināt uz pogas "Labi".
  16. Pēc tam varat pāriet tieši uz konvertēšanas procedūru. Lai to izdarītu, noklikšķiniet uz pogas augšējā panelī "Konvertēt".
  17. Pēc tam tiks veikta konversijas procedūra. Pēc tā pabeigšanas tiks atvērts neliels logs, kas informēs jūs par to, kā arī automātiski tiks palaists Windows Explorer direktorijā, kurā atrodas konvertētie Excel faili. Tagad ar tiem varat veikt jebkādas turpmākas manipulācijas.

Bet jums tas jāņem vērā, ja izmantojat bezmaksas izmēģinājuma versija utilītu, tad tiks pārveidota tikai daļa no dokumenta.

2. metode: konvertējiet, izmantojot standarta Excel rīkus

Arī konvertēt HTML fails jebkurā Excel formātā diezgan viegli un izmantojot šīs lietojumprogrammas standarta rīkus.


Ir arī cita iespēja doties uz dokumentu saglabāšanas logu.


Kā redzat, faila konvertēšana no HTML uz kādu no Excel formātiem ir pavisam vienkārša, izmantojot šīs programmas standarta rīkus. Bet tiem lietotājiem, kuri vēlas saņemt papildu funkcijas, piemēram, lai veiktu masveida objektu pārbūvi norādītajā virzienā, varam ieteikt iegādāties kādu no specializētajiem maksas komunālajiem pakalpojumiem.