Excel (html broncode) omzetten naar txt bestand
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
Code (php)
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
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]);
?>
// 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]);
?>