Excel (html broncode) omzetten naar txt bestand

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Cedric

Cedric

12/09/2007 23:16:00
Quote Anchor link
Hallo,

Ik heb een probleem, ik wil een excel bestand via een upload functie laten uploaden en vervolgens omzetten naar een txt bestand om de informatie uit de excel bestand in de database te zetten.
Het mag ook van excel naar csv.

Nu is het probleem dat de excel bestand uit html (tabel)opmaak bestaat.
Zoals:

<html><body><table><thead bgcolor="Lime"><th>##</th><th>Naam familie</th><th>Naam</th><th>Geslacht</th><th>Jaar</th>

etc

Maar hoe kan ik dit excel bestand omzetten naar een .txt bestand of csv bestand. Online zonder dit zelf handmatig te doen of de extensie te veranderen.

Alvast bedankt.

Groeten Cédric
 
PHP hulp

PHP hulp

18/05/2024 14:20:54
 
Arend a

Arend a

13/09/2007 03:18:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?
// bijvoorbeeld in jouw geval
// $string = file_get_contents("voorbeeld.html");


$string = '<table><thead bgcolor="Lime"><th>##</th><th>Naam familie</th><th>Naam</th><th>Geslacht</th><th>Jaar</th></thead><tr><td>Rij 1 Waarde1</td><td>Rij 2 Waarde 2</td></tr><tr><td>Rij 2 Waarde 1</td><td>Rij 2 Waarde 2</td></tr></table>

<table><tr><td>Tabel 2, Rij 1 Waarde1</td><td>Rij2 Waarde2</td></tr><tr><td>Rij 2 Waarde 1</td><td>Rij 2 Waarde 2</td></tr></table>'
;

preg_match_all('|<table(:\s?.+?)?' . '>(.+?)</table>|i', $string, $aTablesSource);
// Bovenste regel bevat de concatation ' . ' omdat de syntax highlighter anders flipt

$aTablesSource = $aTablesSource[2];
//print_r($aTables);


$aTables = array();
$iTables = 0;
foreach ($aTablesSource as $sRows) {
  preg_match_all('|<tr(:\s?.+?)?' . '>(.+?)</tr>|i', $sRows, $aRowSource);
  $aRowSource = $aRowSource[2];
  $iRows = 0;
  foreach ($aRowSource as $sCells) {
    preg_match_all('|<td(:\s?.+?)?' . '>(.+?)</td>|i', $sCells, $aCellSource);

    //print_r($aCellSource);
    $aCellSource = $aCellSource[2];
    $aTables[$iTables][$iRows++] = $aCellSource;
  }

  $iTables++;
}


foreach ($aTables[0] as &$aRow) {
  $aRow = join(";", $aRow);
}

print join("\n", $aTables[0]);
?>
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.