Autor Zpráva
Forest
Profil *
Potreboval bych data z Excelu naexportovat do DB co nejednoduseji mohl by mi prosim nekdo poradit jak nejlepe na to.
Kvilda
Profil
uplne ten samy problem.........
Hugo
Profil
Ulož to jako csv soubor a ten naimportuj pomocí phpMyAdmina.
zajva
Profil
Mám Excelovské makro, pomocí kterého jednoduše převedu tabulku do .htm souboru. Tento je velice malý a dá se buď přímo otevírat v IE, nebo z něho stahovat data zpět do Excelu:

Sub ExportTipyTyden() 'převede vybranou oblast do Htm souboru
' Dim ws As Worksheet
Dim Filename As Variant
Dim TDOpenTag As String, TDCloseTag As String
Dim CellContents As String
Dim Rng As Range
Dim r As Long, c As Integer

' Use the selected range of cells
Set Rng = Application.Intersect(ActiveSheet.UsedRange, Selection)

' Get a file name
Filename = Application.GetSaveAsFilename( _
InitialFileName:="Tipy_tyden.htm", _
fileFilter:="HTML Files(*.htm), *.htm")
If Filename = False Then Exit Sub

' Open the text file
Open Filename For Output As #1

' Write the <TABLE> tag
Print #1, "<TABLE BORDER=1 CELLPADDING=3 style=""font-size: 8pt"">"
' Loop through the cells
For r = 1 To Rng.Rows.Count
Print #1, "<TR>"
For c = 1 To Rng.Columns.Count
TDOpenTag = "<TD ALIGN=RIGHT>"
TDCloseTag = "</TD>"
If Rng.Cells(r, c).Font.Bold Then
TDOpenTag = TDOpenTag & "<B>"
TDCloseTag = "</B>" & TDCloseTag
End If
If Rng.Cells(r, c).Font.Italic Then
TDOpenTag = TDOpenTag & "<I>"
TDCloseTag = "</I>" & TDCloseTag
End If
CellContents = Rng.Cells(r, c).Text
Print #1, TDOpenTag & CellContents & TDCloseTag
Next c
Print #1, "</TR>"
Next r
' Close the table
Print #1, "</TABLE>"

' Close the file
Close #1

' Tell the user
MsgBox Rng.Count & " buněk bylo celkem vyexportováno do: " & Filename
End Sub


Ukázky jsou na mé stránce: http://zajva.lexico.cz
Vašek
Finc
Profil *
No, nejlepsi reseni je skutecne exportovat do CSV (napr. oddeleny strednikem) a pote ho importovat do DB.
Jedine, co se mi zda neefektivni, delat to pred phpMyAdmin. Ne, ze by toto reseni nefungovalo, ale clovek tim ztraci jakoukoli moznost ulozit CSV soubor do vice tabulek (napr. pro vazby nazev_zakaznika / id_zakaznik, apod.). Nevyhodou take je, kdyz dostaveme stale stejny CSV soubor a ten ukladame do tabulky, ktera strukturou neodpovida CSV souboru.


$file = "soubor.csv";
$fp = fopen($file, "r");
if ($fp) {
while ($row = fgetcsv($fp, 4096, ";")) {
$query = "INSERT INTO tabulka (sloupec1, sloupec2, sloupec3) VALUES ('". implode("', '", $row) ."')";
mysql_query($query);
if (mysql_errno()) {
$chyba = "Nepodarilo se ulozit.";
}
if (!empty($chyba)) {
break;
}
}


Je to dost jednoduche, navic muzeme pri neodpovidajicimu poctu sloupcu v CSV a tabulce v DB $row rozepsat zvlast.
$row[0] -> prvni sloupec
$row[1] -> druhy sloupec
....
Finc
Profil *
Omlouvam se, vypadla mi zavorka ukoncujici while cyklus. Ale tu snad uz kazdy najde :)
Toto téma je uzamčeno. Odpověď nelze zaslat.