Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

[Excel]Kopiranje kolone A iz vise fajlova u jedan

[es] :: Office :: Excel :: [Excel]Kopiranje kolone A iz vise fajlova u jedan

[ Pregleda: 4509 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

ax011
Andrej Milenkovic
bgd

Član broj: 33548
Poruke: 19
213.244.208.*



Profil

icon [Excel]Kopiranje kolone A iz vise fajlova u jedan28.02.2006. u 20:13 - pre 220 meseci
------- Potrebna mi je pomoc sto pre.--------

Treba da iz recimo 30 excel fajfova, iskopiram iz kolone "A" sve podatke,
ali od fajla do fajla varira broj podataka (redova) i unapred ne znam koliki je tacan njihov broj, a sve to u jedan excel fajl.

(resenje ne treba da bude u excel-u, ali mojih 30+ fajlova je u excelu *.csv sto me je i navelo da zakljucim da resenje bude i napravljeno u njemu. Ali moze se sve lako prebaciti i u jedan txt fajl bez problema)

[Ovu poruku je menjao Goran Mijailovic dana 28.02.2006. u 21:34 GMT+1]
[Shadowed: promenjen naslov tako da ima smisla.]

[Ovu poruku je menjao Shadowed dana 01.03.2006. u 07:19 GMT+1]
 
Odgovor na temu

ax011
Andrej Milenkovic
bgd

Član broj: 33548
Poruke: 19
*.telekom.yu.



Profil

icon Re: [Excel]Kopiranje kolone A iz vise fajlova u jedan06.03.2006. u 13:48 - pre 219 meseci
Posto vidim da niko nije odgovorio, mada ne sumnjam da niko i ne zna odgovor, nego mozda neko ne zeli da deli znanje sa ostalima. Postujem privremeno resenje koje sam primenio pre par dana mozda nekome posluzi.

Citat:
Sub r_02_1()

Dim SourceNum As Integer
Dim DestNum As Integer
Dim Temp As String

' If an error occurs, close the files and end the macro.
On Error GoTo ErrHandler

'
ChDir "C:\radni\primer"
'

' Open the destination text file.
DestNum = FreeFile()
Open "fajl1.txt" For Append As DestNum

' Open the source text file.
SourceNum = FreeFile()
Open "fajl2.txt" For Input As SourceNum



' Include the following line if the first line of the source
' file is a header row that you do now want to append to the
' destination file:
' Line Input #SourceNum, Temp

' Read each line of the source file and append it to the
' destination file.
Do While Not EOF(SourceNum)
Line Input #SourceNum, Temp
Print #DestNum, Temp
Loop

CloseFiles:

' Close the destination file and the source file.
Close #DestNum
Close #SourceNum
Exit Sub

ErrHandler:

MsgBox "Error # " & Err & ": " & Error(Err)
Resume CloseFiles

End Sub


Ovo je sabiranje za dva fajla, sada samo treba muliplicirati ovo, ali meni ovde pravi probleme prazni redovi pri unosu dobijenog fajla u bazu podataka jer mora da postoji kljuch.

Normalno ako neko moze da pomogne samo napred.
 
Odgovor na temu

Yellena

Član broj: 58528
Poruke: 8
*.customer.be.colt.net.



Profil

icon Re: [Excel]Kopiranje kolone A iz vise fajlova u jedan09.03.2006. u 13:57 - pre 219 meseci
Mozes to da uradis i sa referencom na Excel i onda manipulises sa copy i paste kao u Excelu.

Program se pokrece na Form1_Load
Fajlovi se nalaze u c:\test
Output je c:\test\output.xls

Takodje mi nije jasno da li hoces sve da ih kopiras u kolonu A ili u kolonu do kolone, videces dole opciju za obe verzije.

Kod mene ne radi bez ove zackoljice za Excel automation bug.

Srecno i javi jel pomoglo...

Pozdrav

J.

Citat:


[Project->Add Reference->Microsoft Excel 10.0 Object Library

Ovo je VB.net

Imports System.IO

Public Class Form1

Inherits System.Windows.Forms.Form

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Dim myXL As New Excel.ApplicationClass
Dim file As String
Dim files As String() = Directory.GetFiles("c:\test", "*.csv")

'Excel automation bug:
'client computer runs the English version of Microsoft Excel
'and the locale for the current user is configured for a language other than English
' myXL.UserControl = True
Dim oldCI As System.Globalization.CultureInfo = System.Threading.Thread.CurrentThread.CurrentCulture
System.Threading.Thread.CurrentThread.CurrentCulture = New System.Globalization.CultureInfo("en-US")

myXL.Visible = True

myXL.Workbooks.Open("c:\test\output.xls")
myXL.Range("A1").Select()


For Each file In files
With myXL
.Workbooks.Open(file, , , Format:=2) 'open as csv
.Range("A1").Select()
.Range(.Selection, .Selection.End(Excel.XlDirection.xlDown)).Select()
.Selection.Copy()
End With
myXL.Workbooks(1).Worksheets(1).Activate()
With myXL
.ActiveSheet.Paste()

'copy in columns
'.ActiveCell.Offset(0, 1).Select()

'copy in one row
.Selection.End(Excel.XlDirection.xlDown).Select()
.ActiveCell.Offset(1, 0).Select()
End With

myXL.Workbooks(2).Close()
Next

myXL.Workbooks(1).Close(SaveChanges:=True)

System.Threading.Thread.CurrentThread.CurrentCulture = oldCI
myXL.Quit()
myXL = Nothing

End Sub
End Class



[Ovu poruku je menjao Yellena dana 09.03.2006. u 15:00 GMT+1]
Entropy isn't what it used to be.
 
Odgovor na temu

ax011
Andrej Milenkovic
bgd

Član broj: 33548
Poruke: 19
*.telekom.yu.



Profil

icon Re: [Excel]Kopiranje kolone A iz vise fajlova u jedan13.03.2006. u 14:00 - pre 219 meseci
Nisam pojasnio sta zapravo hocu, pa ovom prilikom pojasnjavam.

Iz tridesetak *.CSV fajlova koje sam preimenovao u fajl1.TXT ,...., fajl30.TXT treba da kolonu "A" (samo ona ima podatke) iskopiram u jedan fajl, recimo u "rezultat.TXT" u kolonu "A" jedno ispod drugog i nesme da ima prazne vrste pri kopiranju ( fajl1.txt + fajl2.txt + .... + fajl30.txt = rezultat.txt ).
(mozda kolona "A" sad kada se csv prebaci u txt nema nikakvo znacenje)

Meni je taj rezultujuci fajl potreban za punjenje baze podacima, ali ona (baza) ne moze da barata podacima bez kljuca (prazana vrsta zapravo nema kljuc) pa rezultat punjenja baze podataka sa praznim vrstama bi bio netacan, podaci se nebi slagali.
Kod mog resenja prazana vrsta bi se javljala izmedju svaka dva fajla koje sam kopirao u rezultat.TXT.
Jos nesto da dodam, excel ne moze ili bar ja nisam uspeo da namestim da otvori preko 65000+ vrsta pa je drugi problem resiti ovaj nedostatak, mozda i netreba resavati taj nedostatak ako se ne radi sa excel-om, ja sam radio to u text editoru.
Meni se desavalo kada pokrenem skriptu koju sam ja naveo gore da imam kao resenje fajl u kome nedostaju bar 20.000 vrsta jer kako ja mislim racunar se pogubi u sabiranju silnih fajlova i nastane manjak vrsta
(obicno ceo fajl ima oko 80.000+ vrsta i preko 4MB)

(Na kraju samo treba rezultat.TXT preimenovati u rezultat.csv i dopuniti bazu sa njim)

Sada sam nadam se malo bolje pojasnio moj problem.

[Ovu poruku je menjao ax011 dana 13.03.2006. u 15:08 GMT+1]
 
Odgovor na temu

Yellena

Član broj: 58528
Poruke: 8
*.244.81.adsl.skynet.be.



Profil

icon Re: [Excel]Kopiranje kolone A iz vise fajlova u jedan13.03.2006. u 19:13 - pre 219 meseci
Ne znam bas kako se racunar pogubi za 20000 redova. Bice da imas jos negde prazne redove u fajlovima.

Trebalo bi da posle
Citat:
Line Input #SourceNum, Temp

stavis
Citat:
If Temp <> "" Then Print #DestNum, Temp


[Ovu poruku je menjao Yellena dana 13.03.2006. u 20:15 GMT+1]
Entropy isn't what it used to be.
 
Odgovor na temu

[es] :: Office :: Excel :: [Excel]Kopiranje kolone A iz vise fajlova u jedan

[ Pregleda: 4509 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.