Prevođenje tablice iz excela u html. Pretvaranje iz Excela u HTML: ispravno, kvalitetno i jednostavno. stvari koje treba imati na umu pri pretvaranju Excel datoteka u HTML

U kontaktu s

kolege

ALEKSEJ Michurin

Pretvaranje iz Excela u HTML:

ispravno, učinkovito, jednostavno

Dakle, naš je zadatak ispravno pretvoriti dokument iz xls formata u HTML format, uzimajući u obzir oblikovanje izvornog dokumenta i istodobno učiniti s "malo krvi"

Formulacija problema. Ili u čemu je problem?

Mnogi webmasteri često su suočeni sa zadatkom pretvaranja datoteka Microsoft Excel u druge formate. Često je to ispunjeno poteškoćama, jer xls format, kao što svi vrlo dobro znaju, nije dokumentiran.

U nekim je slučajevima moguće spremiti Excel podatke u dokumentirane formate, a zatim ih obraditi. Međutim, ova metoda često ne djeluje na zadovoljavajući način. Jednostavni formati kojima se lako rukuje ne mogu pohraniti sve podatke o oblikovanju dokumenta, a implementacija rukovatelja složenog formata nerazumno dugo oduzima vrijeme.

Za primjer ne morate ići daleko. Mnoge tvrtke koje imaju svoje web stranice i povremeno ih ažuriraju posluju pomoću programa Excel. Webmaster se suočava sa zadatkom pretvorbe svaki put kad se ažuriraju informacije na poslužitelju. Štoviše, zadatak se može zakomplicirati sljedećim aspektima:

Prvo, dolazi do promjene dizajna. Cjenik pripremljen u Excelu obično je dizajniran za ispis na crno-bijelom pisaču. Cjenik na web stranici nije. Barem iz tog razloga, jednostavno "Spremi kao web stranicu" nije prikladno (ne govorim o kvaliteti HTML-koda dobivenog prilikom spremanja).

Drugo, prilikom pretvaranja morate uzeti u obzir specifičnosti Excela. Na primjer, mnogi ljudi koji uređuju cjenik općenito koriste naredbu Format / Line / Hide. U tom slučaju visina retka postaje nula, a čini se da linija nestaje s zaslona i ispisa. Jasno je da ni takve linije ne bi trebale doći na web stranicu. Međutim, oni su izvrsno spremljeni u drugim formatima i ne razlikuju se od običnih, neskrivenih, nizova. To dovodi do toga da doktrina "Spremi kao tekst i proces omeđen" ne daje zadovoljavajuće rezultate.

Treće, cjenik često koristi oblikovanje, što je ključno za očuvanje. Na primjer, nazivi neke robe mogu biti precrtani ili istaknuti u boji kao znak da je ta roba bila i da će nužno biti, ali sada više nije. Neki položaji mogu biti kurzivom itd. Svi ti podaci nestaju bez traga ako ponovno sačuvate cjenik na jednostavan format, recimo, kao tekst razgraničen tabulatorima.

Dakle, naš je zadatak ispravno pretvoriti dokument iz xls formata u HTML format, uzimajući u obzir oblikovanje izvornog dokumenta, a istodobno to učiniti s "malo krvi".

Predlažem da se ovaj zadatak podijeli na dva dijela. Prvi je pohranjivanje podataka u jednostavnom formatu, koji će, ipak, nositi sve potrebne informacije o označavanju dokumenta. Drugi je obrada ovog formata i stvaranje HTML stranice.

Predlažem da prvi zadatak riješimo (izvoz) pomoću Excel alata. Ovdje zapravo nemamo izbora, xls format može obraditi samo jedina aplikacija na svijetu koja ga razumije. Ovo je dijalektika.

Drugi problem predlažem rješavanjem jezika Perl. Zašto? Budući da je ovaj jezik usmjeren na rad sa nizovima i rješavanje problema poput našeg (Perl - Praktično izdvajanje i jezik izvješća - ono što vam treba). Budući da ovaj jezik zna mnogo programera povezanih s web razvojem (ako niste jedan od njih i planirate raditi na webu, iskreno preporučujem da obratite pozornost na Perl). Budući da je ovaj jezik besplatan i dostupan svakom korisniku na bilo kojoj platformi. A budući da se moj Perl kôd tada može lako promijeniti, prisiljavajući ga, na primjer, da svaki odjeljak cjenika stavi u zasebnu datoteku, sortira pozicije cijena na različite načine, prati ažuriranja i dinamiku cijena, opskrbljuje svaku poziciju HTML-om polja obrazaca za on -line narudžbu u web trgovini ... Na kraju se moja skripta lako može pretvoriti u CGI aplikaciju za upravljanje web poslužiteljem.

Čini mi se da je takvo rješenje što fleksibilnije, funkcionalnije i kompaktnije, jer se svaki dio problema rješava sredstvima koja su najprikladnija za njegovo rješenje.

Krenimo od konkretnog primjera. Kao "zamorac" nudim sljedeći cjenik (vidi sliku 1).

Kao što vidite, kombinira sve gore navedene neugodne elemente: i oblikovanje (pozadina, precrtavanje, podebljano) i skrivene retke (ako pažljivo pogledate, primijetit ćete da dvanaesti redak odmah slijedi deveti). Pobrinimo se za njih.

Izvoz podataka iz programa Excel

Počnimo rješavati prvi problem. Za izvoz podataka iz programa Excel predlažem jednostavnu makronaredbu za Vizualno osnovno(brojevi redaka služe samo za komentiranje):

1: Podtabela2tabela ()

2: "

3: "makronaredba koja sprema odabir fragmenta tablice

4: "u tekstualnom formatu s oznakama oblikovanja

5: "

6: S ActiveWindow.RangeSelection

7: c1 = .Kolone.Kolona

8: c2 = .Kolone.Broj - 1 + c1

9: r1 = .Redovi.Red

10: r2 = .Redovi.Broj - 1 + r1

11: Završi s

12: Ako je (r1 - r2 = 0 i c1 - c2 = 0) Tada

13: MsgBox _

14: "nešto malo istaknuto (za spremanje), -)", _

15: vbCritical, "makro poruka"

16: Kraj Ako

17: fileSaveName = Application.GetSaveAsFilename (_

18: InitialFileName: = "datoteka", _

19: fileFilter: = "Tekstualne datoteke ( * .txt), * .txt", _

20: Naslov: = "spremanje stranice u našem formatu")

21: Ako je fileSaveName = False Tada

22: MsgBox _

23: "nije odabrana datoteka. Ništa nije poduzeto.", _

24: vbCritical, "makro poruka"

25: Inače

28: Otvorite fileSaveName za izlaz kao # 1

29: Za r = r1 To r2

30: l = CStr (Redovi (r). Visina reda)

31: Za c = c1 To c2

32: Sa stanicama (r, c)

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

37: Završi s

38: Dalje

39: Ispis # 1, l

40: Dalje

41: Zatvori # 1

42: Kraj Ako

43: Kraj podmornice

Ova makro sprema odabrani dio cjenika u navedenu datoteku. Makro se može dodati u radnu verziju cjenika i pritisnuti gumb za njegovo pozivanje (izvan područja ispisa) ili se može pohraniti u zasebnu datoteku... Vrlo ga je jednostavno smjestiti u dokument: pozovite uređivač Visual Basica (izbornik: "Alati -> Makro -> Uređivač Visual Basica"; ili ), stvorite novi modul (izbornik: "Umetni -> Modul") i unesite ovdje prikazani tekst (bez brojeva redaka). Sada možete nacrtati gumb (alat na ploči Obrasci) i dodijeliti mu makronaredbu.

Pogledajmo na brzinu kako ovaj kod funkcionira.

Prvi redak je deklaracija makronaredbe. Kao što vidite, nazvao sam to jednostavno table2table, možete ga nazvati zvučnijim.

U retcima od 6 do 11 definiramo granice odabranog dijela dokumenta (uostalom, spremit ćemo samo odabrani dio). Sada su c1 i c2 brojevi prvog i posljednjeg stupca, a r1 i r2 prvi i posljednji redak odabranog područja.

Nadalje, u retcima 12 do 16 provjeravamo je li područje odabrano ili naš makro mora raditi samo s jednom ćelijom. To, naravno, ne možete učiniti, ali zapravo, najvjerojatnije, nećete pokrenuti ovu makronaredbu, ali upravitelji koji uređuju cjenik ne možete uvijek računati na njihovu točnost. Dakle, ako ništa nije odabrano, tada će naš makro izdati upozorenje (vidi sliku 2).

U retcima 17 do 20 pozivamo dijalog Application.GetSaveAsFilename tako da korisnik može odabrati naziv datoteke (vidi sliku 3).

Opet, možete samo dati fiksno ime, ali mislim da je to nezgodno čak i ako sami koristite ovaj makro.

Redci 21 do 42 sadrže konstrukciju if-then-else s provjerom je li naziv datoteke za spremanje naveden ili je korisnik pritisnuo gumb Odustani u dijalogu Spremi kao ....

Ako je korisnik odbio spremanje, prikazuje se odgovarajuća poruka (retci 22 do 24), ako je naziv datoteke naveden, počinje najzanimljivija stvar - spremanje podataka.

No prije nego razgovaramo o postupku pohrane (retci 26 do 41), recimo nekoliko riječi o tome u kojem formatu namjeravamo spremiti podatke. Predlažem najjednostavniji format za obradu: ASCII tekst. Svaki red odgovara retku u tablici koji se sprema. Polja su odvojena jednim graničnikom znakova. Prvo polje je visina retka (ove su informacije potrebne za filtriranje "skrivenih" linija). Sva sljedeća polja su sadržaj ćelija, ali svako od ovih polja sadrži nekoliko potpolja, odvojenih vlastitim separatorima. Potpolja sadrže različite informacije o ćeliji: sadržaj, parametre oblikovanja.

Naši separatori polja i potpolja postavljeni su ASCII kodovima u retcima 26, odnosno 27. Možete odabrati prikladnije razdjelnike. Na primjer, ako ste sigurni da vaši podaci nikada ne sadrže znak ":", tada ih možete uzeti kao separator ili pododjeljak.

Prolazimo kroz retke (redak 29).

Izračunajte visinu svake linije. U isto vrijeme počinjemo pripremati redak za spremanje u datoteku u varijabli l (redak 30 s popisom).

U petlji (redak Popisa 31) nad ćelijama retka tablice koji se spremaju dodajte u redak l sve podatke o ćelijama koje nas zanimaju, opskrbljujući ih razdjelnicima.

Koja svojstva ćelije čuvamo?

Prvi korak je tekst ćelije. Imajte na umu da koristimo svojstvo .Text, a ne svojstvo .Value. Ovo nije slučajno. Svojstvo .Value vraća pravi sadržaj ćelije, svojstvo .Text vraća tekst koji se prikazuje na monitoru i ispisuje. Ove se dvije vrijednosti možda ne podudaraju (i obično se ne podudaraju), jer se vrijednosti prikazuju na ekranu prema navedenom formatu ćelije (na primjer, brojevi su prikazani s navedenim brojem decimalnih mjesta).

Svojstvo .MergeCells govori je li ćelija dio grupe spojenih ćelija.

Svojstvo .Font.Bold odražava smjelost teksta u ćeliji.

Svojstvo .Font.Strikethrough govori je li tekst stiliziran kao precrtani.

Za naš primjer, vjerojatno nam neće trebati ništa drugo. Međutim, ne mogu a da ne spomenem niz korisnih svojstava koja bi vam mogla biti korisna. Nazivi ovih nekretnina prilično su rječiti, i neću ih komentirati, ograničit ću se na popis:

  • .Naziv fonta
  • .Font.FontStyle
  • .Veličina fonta
  • .Font.Podcrtaj
  • .Font.BojaIndeks
  • .Font.Italic
  • .Vodoravno poravnanje
  • .Vertikalno poravnanje
  • .Indeks boja
  • .Uzorak

Imajte na umu da se sva svojstva izričito prenose na niz znakova pomoću funkcije CStr (retci 33 do 36). Ovo je vrlo koristan postupak koji vam zauvijek štedi sve glavobolje oko pretvorbe tipova.

Ovdje treba učiniti važno upozorenje. Poanta je u tome da funkcija CStr ne može obraditi nedefinirane vrijednosti. Ako će se takvi naći u vašim dokumentima, umjesto CStr -a možete koristiti vlastitu funkciju za pretvaranje vrijednosti u tekstualni format. Na primjer safeCStr:

1: Funkcija safeCStr (p kao varijanta) kao niz
2: Ako je IsNull (p) Tada safeCStr = "" Ostalo safeCStr = CStr (p)
3: Završna funkcija

Moram napomenuti da se ni sam nikada nisam susreo s takvim situacijama, ali znanstveni i tehnički konzultant časopisa lako je na Internetu pronašao cjenik, u nekim ćelijama u kojima svojstvo Font.Bold nije definirano. Vjerujem da takvi dokumenti mogu biti rezultat izvoza podataka iz drugih aplikacija. Na primjer, proizvodi 1C mogu izvoziti podatke u Excel. Ukratko, takva situacija je moguća. - Bilješka o autoru.

Dakle, odabirete spremljeno područje (u našem primjeru to su prve tri kolone tablice, retci od 4 do 21), kliknite gumb koji ste stvorili, odaberite naziv datoteke i datoteka se sprema. Što dalje s tim?

Generiranje HTML stranice iz izvezenih podataka

S ovom datotekom možete učiniti sve, jer nam je njezin format potpuno poznat (lijepo je to znati). Navest ću primjer generiranja HTML stranice.

Kao što sam rekao, predlažem Perl skriptu:

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

3: #koristiti strogo;

5: # my ($ TRUE, $ FALSE) = ("Tačno", "Netačno");

6: my ($ TRUE, $ FALSE) = ("Tačno", "Netačno");

8: sub qtnum (

9: moj $ t = pomak;

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

11: return $ t;

12: }

14: sub qtstring (

15: moj $ t = pomak;

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

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

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

19: $ t = ~ s / \

20: return $ t;

21: }

23: ispis<<"TEXT";

24:

25:

26: cjenik određene tvrtke

27:

32:

33:

34:

35:

36:

37:

38:

39:

40:

41:

42:

43:

44:

45:

46:

47:

48:

49:

50: TEKST

52: while (<>) {

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

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

55: moj $ lh = pomak @f;

56: my ($ name, $ usd, $ rub) = map () @f;

57: if ($ lh) (

58: if ($ name-> eq $ TRUE) (# zaglavlje odjeljka za obradu

59: ispis "

\ n ";

62 :) else (# obrada redovne linije

63: ispis<<"TEXT" .

64:

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

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

\ n \ n \ n ";

80: }

81: ispis<<"TEXT";

82:

83:

84: TEKST

85 :) ostalo (

86: upozori "skrivena linija:". $ Name ->. "\ N";

87: }

88: }

90: ispis<<"TEXT";

91:

cjenik određene tvrtke
Naziv proizvoda cijena
cu trljati.
" .

60: $ name->.

61: "

67: TEKST

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

69: qtstring ($ ime->).

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: TEKST

Skripta uzima ulaz iz datoteke navedene kao parametar naredbenog retka ili iz standardnog unosa i ispisuje HTML kôd na standardni izlaz. Odnosno, možete ga pokrenuti ovako:

perl file2html.pl file.txt> file.html

ili, na primjer, ovako:

cat file.txt | perl file2html.pl> file.html

Pogledajmo kako ova skripta radi (pretpostavljam da je čitatelj malo upoznat s Perlom).

Prvi redak je standardna čarobna linija bilo koje UNIX skripte. Korisnici sustava Windows mogu to zanemariti. Treći redak sadrži striktnu izjavu o komentiranoj upotrebi. Bit će vam koristan samo pri otklanjanju pogrešaka.

U retcima 5 i 6 definirat ćemo varijable $ TRUE i $ FALSE, koje će sadržavati istinite i lažne vrijednosti koje vraća Excel. Činjenica je da ruski Excel koristi ruske riječi, europske - engleske. Komentirajte redak koji vam odgovara i komentirajte dodatni.

Postupak qtnum (retci 8 do 12) dodaje oznake u zapis broja, pretvarajući "3.14" u "3, 14". Odnosno, centi i penijevi bit će prikazani manjim fontom. Ovo je čisto kozmetička mjera.

Rutina qtstring (retci 13 do 21) navodi "nesigurne" znakove: & (i), "(dvostruki navodnici),< (больше), >(manji). Kao što razumijete, ovo je obavezna mjera.

Redci 23 do 50 ispisuju zaglavlje HTML dokumenta.

U while petlji (retci 52 do 88) čitamo ulaznu datoteku redak po redak, pretvaramo je u HTML dokument i zapisujemo u stdout.

U retku 53, znak (i) za kraj retka odsječen je od sljedećeg retka za čitanje. Ne koristim standardne funkcije Perl chop i chomp, jer se datoteka koja se obrađuje stvara u sustavu Windows, a rukovatelj (naša Perl skripta) također može raditi pod UNIX -om. Datoteka se može prenijeti na vrlo egzotične načine. Na primjer, mnogi će ljudi vjerojatno htjeti malo izmijeniti moj kôd i pretvoriti ga u CGI aplikaciju za upravljanje svojim matičnim poslužiteljem. Stoga se ne oslanjam na standardne funkcije, već izričito pišem da moram ukloniti sve znakove \ x0A i \ x0D na kraju retka.

Prvo polje, visina retka, pohranjeno je u varijabli $ lh (redak 55). Sva ostala polja podijeljena su u potpolja. Kao rezultat toga, varijablama $ name, $ usd, $ rub dodijeljeni su pokazivači na nizove koji sadrže sve potrebne informacije o sadržaju i oblikovanju odgovarajuće ćelije. $ name - ćelija s nazivom proizvoda, $ usd - ćelija s cijenom u dolarima, $ rub - ćelija s cijenom u rubljima. To se postiže jednim retkom 56.

Ako visina retka nije nula, tada blok izvršavamo od 58 do 84 redaka. U suprotnom, izdajemo upozorenje standardnom nizu pogrešaka stderr da je otkriven i zanemaren skriveni niz (redak 86).

Obrada redaka tablice može se činiti kompliciranom samo na prvi pogled.

Prije svega, shvatimo s čime imamo posla: u retku 58 provjeravamo istinitost svojstva MergeCells ćelije s imenom proizvoda. Ako je ova ćelija spojena, onda je ovo zaglavlje odjeljka, zatim se izvršava kôd koji generira zaglavlje (retci 59 do 61).

Ako se pokaže da imamo posla s redovitom linijom, tada se izvršava blok else (retci 63 do 79). Ovdje se formira redak HTML tablice u koju se ubacuju dodatni elementi oblikovanja (za one retke tablice gdje je to potrebno).

Imajte na umu da smo u naš dokument ugradili osnovni DHTML trik. Redak na kojem se nalazi pokazivač miša uvijek je istaknut u tablici. To olakšava čitanje tablice. Slažete se da je teško postići takav učinak pomoću programa Excel (spremanjem dokumenta kao web stranice).

Redci 90–94 prikazuju završne oznake dokumenta. Imajte na umu da na kraju datoteke s programom mora biti prazan redak. Inače, posljednju riječ ("TEXT") (redak 94) tumač Perl neće ispravno obraditi.

Za izlaz pogledajte sliku (str. 82).

Slažem se, imalo se za što boriti!

BUGOVI. Što još možete dodati?

Ne sumnjam da će, iako su moji primjeri potpuno funkcionalni, malo ljudi koristiti bez ikakvih izmjena. Želim baciti nekoliko misli o tome što se može poboljšati u ovim skriptama tako da prilikom njihove izmjene ne radite nepotreban posao, već ubijate što više ptica odjednom.

Skriptirano u Visual Basicu

Ovdje ćete najvjerojatnije morati promijeniti skup spremljenih parametara ćelije. Donosim popis najkorisnijih u raspravi o ovom scenariju. Ako vam treba nešto egzotično, pogledajte Microsoftovu dokumentaciju, Svojstva objekta raspona.

Vjerojatno će mnogi smatrati nedostatkom to što makro definitivno zamjenjuje postojeće datoteke (ako navedete postojeću datoteku za spremanje). To možete zamisliti lako popraviti.

Vjerojatno će za stvarne dokumente biti lako formulirati uvjete prema kojima će makro sam odrediti područje cjenika (ili drugog dokumenta) koji se sprema. Tada se ovaj proces može automatizirati. Moje rješenje (zadržavanje odabranog područja) više je svestrano nego prikladno.

Konačno, čitatelj se s pravom može zapitati zašto makronaredba za Excel sprema skrivene retke jer se oni mogu ukloniti već u fazi izvoza? Kapa dolje čitateljskoj pažnji (potajno se nadajući uzajamnoj gesti na moju pronicljivost). Čuvanje skrivenih linija doista uopće nije potrebno, samo sam navikao spremati sve. Uzroci? Možda će vam i dalje trebati skrivene linije. Ili možda želite znati koje su retke zanemarene (moja Perl skripta, koliko se sjećate, izvještava o svakom skrivenom retku). Osim toga, informacije o visini retka mogu biti kriterij za identifikaciju zaglavlja ... iako naravno možete malo izmijeniti VB kôd i ne zadržati skrivene retke.

Perl skripta

Naravno, sav HTML kôd (koji je većina skripte) vjerojatno će se značajno promijeniti. Naravno, morat ćete promijeniti broj stupaca, zaglavlje, mnogi će iz HTML koda ukloniti moje prazne linije razdvajanja, dodati ugniježđene tablice, promijeniti DHTML funkcije, dodati CSS tablice ... Ali to nije najvažnije i nije temeljna promjena.

Najvjerojatnije ćete ovu skriptu morati "naučiti" podijeliti velike dokumente u odjeljke i spremiti te odjeljke u različite datoteke, jer cjenik vrlo prosječne tvrtke u HTML formatu može povući stotine kilobajta. Neće svaki web putnik čekati dok se takav dokument ne preuzme. Možda ćete htjeti dodati sortiranje (ako se stavke u tiskanom cjeniku i na web -cjeniku moraju pojavljivati ​​različitim redoslijedom).

Bez sumnje, funkcija usporedbe trenutne cijene s prethodnom bit će korisna, što će dodati podatke o ažuriranjima i dinamici cijena.

Savjetovao bih vam da takve postupke (koji nisu izravno povezani s HTML izgledom) organizirate u obliku zasebnih programa ili modula. Usput, dio posla na HTML izgledu može se povjeriti SSI mehanizmu, a skripta neka sakupi SHTML dokument. Skup jednostavnih alata uvijek je prikladniji, fleksibilniji i upravljiviji od jednog univerzalnog. Klonite se grablji po kojima hodaju tvorci mikrovalnog telefona i TV -četkice za zube.

Popis savjeta i prijedloga je beskrajan, ali mislim da sam vam već probudio maštu, a onda se možete snaći i bez mene. Prilagođavanje ovdje danog primjera vašim specifičnim uvjetima može potrajati nekoliko sati rada. No tada ćete biti velikodušno nagrađeni jer ćete sva naknadna ažuriranja informacija na svom web poslužitelju obaviti u samo nekoliko dodira tipkovnice i miša!


U kontaktu s

Ako ste stvorili lijepu Excel proračunsku tablicu i sada je želite objaviti kao web stranicu, najlakši način za to je da je izvezete u staru dobru HTML datoteku. U ovom ćemo članku pogledati nekoliko načina pretvaranja podataka iz Excela u HTML, utvrditi prednosti i nedostatke svake metode te izvesti ovu konverziju korak po korak s vama.

Pretvorite Excel tablice u HTML pomoću alata Spremi kao web stranicu

Pretpostavimo da ste stvorili višenamjensko izvješće u Excelu i sada želite izvesti sve te podatke, zajedno s grafikonom i zaokretnom tablicom, na web mjesto tvrtke kako bi ih kolege mogle vidjeti na mreži putem web preglednika bez pokretanja Excela.

Slijedite ove korake za pretvaranje Excel podataka u HTML. Ove upute vrijede za Excel 2013, 2010 i 2007.


Savjet: Ako prvi put pretvarate radnu knjigu programa Excel u HTML datoteku, pametno je web stranicu spremiti na tvrdi disk kako biste mogli urediti ako je potrebno prije objavljivanja stranice na Internetu ili u lokalnoj mreži.

Komentar: HTML koji generira Excel nije jako čist! Bit će sjajno kada, nakon što transformirate veliku tablicu sa složenim dizajnom, otvorite je u bilo kojem HTML uređivaču i očistite kôd prije objavljivanja. Zbog toga će se stranica na web mjestu učitati znatno brže.

5 stvari koje morate imati na umu pri pretvaranju Excel datoteka u HTML

Kada koristite alat Spremi kao web stranicu, važno je razumjeti kako funkcioniraju njegove glavne opcije kako biste izbjegli najčešće greške i izbjegli najčešće poruke o pogreškama. U ovom odjeljku pronaći ćete brzi pregled opcija koje je potrebno uzeti u obzir pri pretvaranju Excel datoteka u HTML.

1. Datoteke podrške i hiperveze

Kao što znate, web stranice često sadrže slike i druge datoteke podrške, kao i hiperveze do drugih web stranica. Pretvaranjem Excel datoteke u web stranicu, aplikacija automatski prikuplja povezane datoteke i hiperveze za vas i sprema ih u podmapu.

Kada spremate podržane datoteke poput grafikona i pozadinskih tekstura na isti web poslužitelj, Excel stvara sve veze rođak... Relativna veza (URL) upućuje na datoteku na istoj web stranici; navodi naziv datoteke ili korijensku mapu umjesto punog naziva web mjesta (na primjer, href = ” / images / 001.png”). Kad izbrišete bilo koju stavku pohranjenu kao relativna veza, Microsoft Excel automatski uklanja povezanu datoteku iz pomoćne mape.

Dakle, glavno pravilo je svoju web stranicu i datoteke za podršku uvijek držite na jednom mjestu inače se web stranica neće ispravno prikazati. Ako premjestite ili kopirate svoju web stranicu na drugo mjesto, svakako kopirajte podmapu na isto mjesto, u protivnom veze neće biti točne. Ako web stranicu ponovno spremite na drugo mjesto, Microsoft Excel automatski će kopirati podmapu pokraj nje.

Ako web stranice spremate na različita mjesta ili ako Excel datoteka sadrži hiperveze prema vanjskim web stranicama, u takvim slučajevima, apsolutna veze. Apsolutne veze sadrže puni put do datoteke ili web stranice kojoj se može pristupiti s bilo kojeg mjesta, na primjer: www.yourdomain / section / page.htm.

2. Unošenje promjena i spremanje web stranice

Teoretski, radnu knjigu programa Excel možete spremiti kao web stranicu, a zatim otvoriti rezultirajuću web stranicu u Excelu, unijeti promjene i ponovno spremiti datoteku. Međutim, u ovom slučaju neke značajke programa Excel neće biti dostupne. Na primjer, svi grafikoni sadržani u vašoj radnoj knjizi pretvorit će se u neovisne crteže i nećete ih moći mijenjati u Excelu, kao što ste to činili prije.

Stoga je najbolji način prvo ažurirati izvornu radnu knjigu programa Excel s nekim promjenama, a zatim je spremiti kao radnu knjigu programa Excel (.xlsx), pa je tek onda pretvoriti natrag u web stranicu.

3. Automatsko ponovno objavljivanje web stranice

Ako ste potvrdili okvir pored parametra Automatsko ponovno objavljivanje(Auto-reprint) u dijaloškom okviru Objavi kao web stranicu(Objavite web stranicu) koju smo spomenuli ranije u ovom članku, tada će se vaša web stranica automatski osvježavati svaki put kada spremite radnu knjigu. Ova je značajka vrlo korisna i omogućuje vam da uvijek držite ažuriranu online kopiju svoje Excel proračunske tablice.

Ako omogućite parametar Automatsko ponovno objavljivanje(Automatski ponovni ispis), tada će se svaki put kad spremite radnu knjigu pojaviti poruka u kojoj se od vas traži da potvrdite želite li omogućiti ili onemogućiti automatsko ponovno ispisivanje. Ako želite da se Excel list automatski objavljuje, odaberite Omogući ...(Uključite ...) i kliknite u redu.

Međutim, mogu postojati okolnosti u kojima ne želite automatski objaviti Excel tablicu ili njezine elemente, na primjer, ako datoteka sadrži povjerljive podatke ili ju je izmijenila netko tko nije osoba od povjerenja. U tom slučaju možete privremeno ili trajno onemogućiti automatsko ponovno objavljivanje.

Da biste privremeno onemogućili automatsko ponovno ispisivanje, odaberite prvu od predloženih opcija u gornjem postu - Onemogućite značajku automatskog ponovnog objavljivanja dok je ova radna knjiga otvorena(Onemogućite značajku automatskog ponovnog ispisa kada je ova knjiga otvorena). To će onemogućiti automatsko objavljivanje za trenutnu sesiju programa Excel, ali sljedeći put kada otvorite radnu knjigu, ona će biti ponovno omogućena.

Da biste trajno onemogućili automatsko ponovno ispisivanje za sve odabrane stavke, otvorite radnu knjigu programa Excel, idite na dijaloški okvir Objavi kao web stranicu(Objavi web stranicu) i kliknite Objaviti(Post). U poglavlju Stavke za objavljivanje(Objavljene stavke) na popisu Odaberite(Odaberite) odaberite stavku koju ne želite objaviti i kliknite gumb Ukloniti(Izbrisati).

4. Značajke programa Excel nisu podržane na web stranicama

Nažalost, neke vrlo korisne i popularne Excel značajke postaju nedostupne kada pretvorite svoje Excel listove u HTML:

  • Imatioblikovanje riječi nije podržano prilikom spremanja Excel lista kao Web stranica s jednom datotekom(Web stranica u ovoj datoteci), pa je svakako spremite kao Web stranica(Web stranica). Trakasti grafikoni, trake u boji i skupovi ikona nisu podržani u oba formata web stranica.
  • Rotirano ili veokomiti tekst nije podržano pri izvozu podataka iz programa Excel u format web stranice. Svaki rotirani ili okomiti tekst u vašoj radnoj knjizi bit će pretvoren u vodoravni tekst.

5. Najčešće poteškoće na koje nailazite pri pretvaranju Excel datoteka u HTML

Prilikom pretvaranja radne knjige programa Excel u web stranicu možete naići na sljedeće poznate poteškoće.

Ponekad dođe upravitelj i kaže: - Želim vidjeti ovaj stol na web mjestu.
I lišće.
Pojavljuju se dva standardna puta:
- bilo putem određene administratorske ploče u uređivaču, izvadite tablicu i ispunite je vrijednostima;
- bilo s ručkama izravno u html -u, a također i s vrijednostima.
I u redu je ako ima 3x5 ćelija, ali ako ih ima više.

Suočen s tim prije nekoliko godina, otkrio sam metodu koja se temelji na korištenju Windows Live Writer (softver za pisanje i slanje postova na neke platforme za bloganje).

Jednostavno je. Kopiranu tablicu zalijepite u WLW posebnom pastom, čuvajući format

Zatim idite na donju karticu "Izvor" u WLW -u i kopirajte iz polja sav veliki kôd

Ispada ovako ili gotovo točno kao u originalu. Vrijeme traje nekoliko sekundi, osim jednokratnih troškova spajanja WLW-a na neki blog račun.
Primjer je ovdje codepen

Kao rezultat toga, dobivamo jednu stranicu s 320 redaka teksta.

Tamo još morate pronaći ono što trebate koristiti ...

Na primjer, uzmimo Excel proračunsku tablicu koja se sastoji od 4 stupca i 12 redaka.
Stupac A - numeriranje artikala u rastućem redoslijedu
Stupac B - broj predmeta
Stupac C - cijena jedne stavke
Stupac D - zbroj cijene artikala u jednom retku kao umnožak cijene artikla na njihovu količinu
Stupac D ćelija D12 - zbroj troškova svih stavki

Podrazumijeva se da je sama tablica u obliku excel datoteka ne može se smjestiti u materijalima web mjesta iz raznih razloga. Za njegovo postavljanje, objavljivanje u obliku tekstualnog prikaza podataka, potrebno je pretvaranje u Html kompatibilan format.

Prvo dodajte prije tablice još jedan redak, istaknuto crveni okvir .
Zatim, prije svakog stupca tablice, dodajte još jedna kolona, dodaj još 4 stupca, odabrano zeleni okviri .

Kao rezultat toga, dobivamo tablicu koja se sastoji od 8 stupaca i 13 redaka.

U ćeliju A1 u obliku teksta koji pišemo Html oznaka tablice


U ćelije raspona A2-A11 prije svake ćelije stupca B u obliku teksta napišite uvod Html oznake retka i ćelije
U ćeliju I14 u obliku teksta napišite završnu riječ Html oznaka tablice

U ćelije raspona C2-C11 , E2-E11 , G2-G11 prije svake ćelije stupca D , Ž i H u obliku teksta napišite završno i otvaranje Htmlćelijske oznake

U ćelije raspona I2-I13 iza svake ćelije stupca H u obliku teksta napišite završnu riječ Html oznake ćelija i redaka

Dalje u stanice A12 i A13 kao tekst, napišite uvod Html oznaka linije i otvaranje Html oznaka ćelije s atributom colspan spajanje u nizove 12 i 13 stupcima B , D i Ž u jednoj ćeliji

Kao rezultat toga, dobivamo tablicu ispunjenu početnim podacima u excel formatu i HTML oznake kao tekst.

Dalje u Uređivač programa Excel, odaberite tablicu u rasponu A1-I13, u izborniku programa odaberite naredbu "Spremi kao" i spremite odabir kao tekstualna datoteka(na primjer - tabltxt.txt), kodiranje nije važno, možete spremiti kao u kodiranju UTF-8 i u kodiranju Gospođo-DOS... Excel će prikazati prozor upozorenja:

Pritisnite tipku "U REDU" i Excel će ponovno prikazati prozor upozorenja:

Pritisnite tipku "DA" a odabrani će fragment biti spremljen kao tekstualna datoteka tabltxt.txt

Nadalje, daljnji rad na pretvorbi prenosi se na uređivač HTML -a, u načelu, sve ostalo se može obaviti jednostavnim uređivač teksta, ali opcija s HTML uređivačem poželjnije.

Otvaranje datoteke tabltxt.txt u bilo kojem uređivaču teksta odaberite sav sadržaj kao tekst i zalijepite ga Html urednik u HTML način... Uzmimo sljedeći izvorni HTML tekst tablice. Odabir spremljene datoteke možete uzeti i iz programa Excel. Jedina razlika je u tome što, ovisno o kodiranju spremljene datoteke, može sadržavati "artefakti" u obliku dodatnih znakova kao što možete vidjeti na snimci zaslona u ćelijama ( " " ).

Zatim brišemo sve "artefakti" ako postoje i svi razmaci. Također pišemo CSS stil za ćelije tablice: td (padding: 1px 12px; text-align: center;) Kao rezultat toga, dobivamo izvorni HTML tekst tablice u HTML formatu. (snimka zaslona prikazana je bez strukturnog HTML oblikovanja kao da je izgledala u uređivaču teksta)... U ovom obliku izvorni tekst tablice prikladan je za upotrebu kao HTML tablice podatke za objavljivanje u materijalu, budući da se radi o čisto HTML formatu.

Nakon spremanja tablice kao HTML datoteke i pregledavanja u pregledniku, dobivamo sljedeći prikaz tablice pretvorene iz excel formata u HTML format.

Značenje svih gore navedenih radnji svodi se na jedno:

1 . Obrazac prije svakog retka Excel tablice, HTML retka i početka HTML ćelije.
2 . Obrazac između stupaca tablice programa Excel, kraja jedne i početka druge HTML ćelije.
3 . Generirajte iza svakog retka Excel tablice, kraj HTML ćelija i redaka.
4 . Obrazac na početku i na kraju Excel tablice, početak i kraj HTML tablice kao oznaka tablice.

Podrazumijeva se da je za prezentabilniji prikaz tabličnih podataka potrebno upisati CSS klase u HTML oznake redove i ćelije tablice. Na primjer, s atributima uvlačenja, bojom i stilom fonta, obrubima i drugim dizajnom. Ali ovo je zasebna tema koja se ne razmatra u ovom materijalu ...