Excel-taulukon muuttaminen HTML-taulukoksi

Usein tulee vastaan tilanne, jossa tarvittaisiin muuttaa Excel-taulukon tiedot kätevästi osaksi HTML-dokumenttia. Excel-taulukon muuttaminen HTML-taulukoksi on kuitenkin kohtuullisen työlästä. Työkirjan voi esimerkiksi tallentaa HTML-muotoon, mutta tallentaminen antaa kohtuullisen epäselvän lopputuloksen, jonka toimivuus kaikilla selaimilla ei edes ole varmaa. Maailmalta löytyy muutamia työkaluja HTML-taulukon tekemiseksi, mutta niissä on omat rajoitteensa. Tämän vuoksi työkalu tulee tehtyä usein itse. Seuraavassa on esitelty itse toteutetun VBA-taulukkotyökalun toimintaa ja käyttöä.

Varoitukset ja lisenssiehdot

Työkalun käyttöönotto ja käyttö

Seuraavassa lyhyet ohjeet työkalun käyttöönotosta, joka muuttaa helposti Excel-taulukon HTML-taulukoksi.

Seuraavassa lyhyet ohjeet työkalun käytöstä.

Työkalun lähdekoodi

Seuraavassa on edellä esitellyn työkalun lähdekoodi. Toinen tapa työkalu käyttöönottoon on kopioida työkalun lähdekoodi Excelin VBA-editoriin. Editorin saa helpoiten auki oikeaan paikkaan valikkokomennolla Tools | Macro | Macros avautuvasta ikkunasta. Macro name -kohtaan kirjoitetaan makron nimi taulukko ja valitaan komento Create. Tämän jälkeen ollaan Visual Basic -editorissa, jonne tulleet kaksi riviä voidaan korvata työkalun lähdekoodilla. Makron tallentamisen kohteeksi (engl. Macros in) kannattaa valita Personal.xls, jolloin makro on käytössäsi jokaisessa työkirjassa.

Työkalun käyttäminen onnistuu tällöin valikkokomennolla Tools | Macro | Macros avautuvasta ikkunasta. Tämän jälkeen valitaan aktiiviseksi taulukko-makro ja suoritetaan se komennolla Run. Jos työkaluun halutaan liittää pikanäppäin, niin se on tehtävä makroon liittyvistä lisäominaisuuksista (engl. Options).

Sub taulukko()
' Petri Heinonen 20.02.2002
' Tämä ohjelma tekee Excel-taulukosta HTML-taulukon

' Alustetaan tarvittavat muuttujat
Dim arvo As String
Dim i As Integer
Dim j As Integer
Dim rivilkm As Integer
Dim sarakelkm As Integer
Dim uusinimi As String
Dim nimi As String

' Otetaan talteen aktiivisen lomakkeen nimi
nimi = ActiveSheet.Name
' Määritellään aktiivisen alueenb rivien lukumäärä
rivilkm = Selection.Rows.Count
' Määritellään aktiivisen alueen sarakkeiden lukumäärä
sarakelkm = Selection.Columns.Count
' Lisätään uusi lomake
Sheets.Add
' Otetaan uuden lomakkeen nimi talteen
uusinimi = ActiveSheet.Name
' Aktivoidaan vanha lomake
Sheets(nimi).Activate
' Aletaan varsinaisen taulukon muodostaminen
Worksheets(uusinimi).Cells(1, 1).Value = "<table>"
 
For i = 1 To rivilkm
  ' Aloitetaan uusi rivi
  Worksheets(uusinimi).Cells(i + 1, 1).Value = "<tr>"
  For j = 1 To sarakelkm
      ' Luetaan alkuperäisen taulukon solu
      arvo = Selection.Cells(i, j).Value
   If i = 1 Then    ' Taulukon otsikkotiedot ensimmäiselle riville
      arvo = "<th>" + arvo + "</th>"
   Else             ' Taulukon datat muille riveille
      arvo = "<td>" + arvo + "</td>"
   End If
      ' Sijoitetaan muutetut solun tiedot uuteen taulukkoon
      Worksheets(uusinimi).Cells(i + 1, j + 1).Value = arvo
  Next j
  Worksheets(uusinimi).Cells(i + 1, j + 1).Value = "</tr>"
Next i
  
Worksheets(uusinimi).Cells(i + 1, 1).Value = "</table>"
 
' Aktivoidaan lomake, jolla on muodostunut taulukko
Sheets(uusinimi).Activate
   
Range(Cells(1, 1), Cells(i + 1, j + 1)).Copy

End Sub

Käyttäjien kommentit

Kommentoi tätä sivua Lisää uusi kommentti
Kurssimateriaalien käyttäminen kaupallisiin tarkoituksiin tai opetusmateriaalina ilman lupaa on ehdottomasti kielletty!
http://appro.mit.jyu.fi/tools/table2html.html
© Antti Ekonoja (anjoekon@jyu.fi) <http://users.jyu.fi/~anjoekon/>
Tommi Lahtonen (tommi.j.lahtonen@jyu.fi) <http://hazor.iki.fi/>
Jukka Mäntylä (jmantyla@iki.fi) <http://www.iki.fi/jmantyla/>
2003-09-23 13:48:56
Informaatioteknologia - Jyväskylän yliopiston IT-tiedekunta ja avoin yliopisto