[ lucky @ 28.03.2007. 11:44 ] @
U pitanju je .NET web aplikacija. Potrebno je da se uradi konverzija iz Excel file-a u XML. Neki savet kako je najbolje i najlakse to uraditi. Hvala. |
[ lucky @ 28.03.2007. 11:44 ] @
[ kleo @ 28.03.2007. 12:16 ] @
Mozes da napravis select nad sheet-om u xls kao nad tabelom u db i da napunis DataSet iz kojeg mozes dobiti lako xml .
Ispod je primjer za konekciju i upit . "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\MyExcel.xls;Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1""" "HDR=Yes;" indicates that the first row contains columnnames, not data "IMEX=1;" tells the driver to always read "intermixed" data columns as text SQL syntax: "SELECT * FROM [sheet1$]" - i.e. worksheet name followed by a "$" and wrapped in "[" "]" brackets. [ spartak @ 28.03.2007. 17:43 ] @
I moje iskustvo potvrdjuje ovu preporuku.
Mozes lako da iscitas sve sheets iz nekog Excel fajla, pa za jedan po jedan kreiras novu tabelu u dataset i na kraju ga samo prebacis u XML. Prosto k'o pasulj. Ima cak i par dobrih primera za citanje Excel na netu ovim pristupom koji ti je kleo preporucio. [ dusty @ 29.03.2007. 08:24 ] @
Tja, ali sa druge strane, ja ti ne bih preporucio da koristis OLEDB za citanje excela iz sledeceg razloga:
problem nastaje sa intermixed kolonama, jer OLEDB provider uzima prvih osam redova i na osnovu njih zakljucuje kojeg je tipa kolona. Tako da ako imas kolonu gde su u prvih osam redova brojevi, a od devete idu stringovi nastaje picvajz jer tu kolonu tretira da je numerickog tipa. Ovo se moze zaobici tako sto ces u registry-u da promenis koliko ce redova da 'skenira', sto je niti pouzdano niti prakticno, ili da napravis fajl sa shemom. Ako pravis WinForm aplikaciju, ja bih pre koristio Excelov COM ili VS Tools for Office. [ spartak @ 29.03.2007. 16:20 ] @
Slazem se. Da bi tretirao excel kao bazu (sto kacenje sa jet i jeste) sam fajl treba da bude struktuiran.
[ kleo @ 29.03.2007. 19:35 ] @
Evo i jedno komercijalno rijeĊĦenje http://www.componentone.com/.
[ tomislavbo @ 29.03.2007. 20:15 ] @
Kreiras xls fajl i zapamtis ga kao html
[ lucky @ 04.04.2007. 07:33 ] @
Hvala, uspeo sam da kreiram XML uz pomoc Jet-a.
SheetName je uvek isto tako da nema potrebe (za sad), za GetSheetNames funkcijom. E sad, ja bih iz stringa (ne iz file-a) da uzimam vrednosti pojedinih elemenata XML-a. Pokusavam sa: Code: XmlDocument xd = new XmlDocument(); xd.LoadXml(strName); XmlNodeList xList = xd.GetElementByTagName("neko_ime"); ... Kad pogledam sadrzaj xList.InnerText vidim sadrzaj celog stringa strName, a ja zelim samo pojedine elemente, odnosno redom element po element. Oblik XML-a je ovakav: Code: <Root> <Element> <F1>nesto</F1> <F2>nesto1</F2> <F3>nesto2</F3> </Element> <Element> <F1>nesto</F1> <F2>nesto1</F2> <F3>nesto2</F3> <F4>nesto3</F4> </Element> ... ... </Root> Ovako imamo max do <F6> elementa. Nekad je neki od F-ova izostavljen (ukoliko je sadrzaj celije u Excelu prazan). Znaci, kako redom da dobijem sadrzaj F-ova jednog po jednog pa da ih onda obradim? [ sstanko78 @ 04.04.2007. 10:25 ] @
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|