Sida 1 av 2
Tyda .txt filer i excel..
Postat: 24 september 2007, 21:14:14
av squiz3r
Hej, Jag håller på med ett litet projekt då jag vill kunna öpnna en .txt fil i excel. Jag skriver bara in text i .txt filen med tab osv. för att byta cell så långt fungerar allt utmärkt.. Men.. Jag skulle vilja kunna göra lite mer advencerade grejor, typ färglägga vissa rutor m.m. Är det någon som vet var man kan hitta sånna komandon och om det överhuvudtaget är möjligt att göra det??
Tex. så ger denna texten (från en .txt fil) en "fin" tabel om man öppnar den i excel:
Kod: Markera allt
Dag Kl. Temp1 Temp2 Temp3
0 0 4 528 41
0 1 5 2 2
0 2 8 4 14
1 0 422 5 854
1 1 1 15 2
1 2 85 5 4
2 0 11 54 2
2 1 5 4 14
2 2 14 2 25
Mvh..
Edit: hmm.. Forumet klarar inte tab'ar

Postat: 24 september 2007, 21:18:12
av TomasL
Lätt som en plätt
Det går inte.
Text-formatet (CSV) kan bara hantera data inget annat.
Postat: 24 september 2007, 21:21:36
av squiz3r
Postat: 24 september 2007, 21:27:47
av TomasL
Nej, du kan inte göra nånting överhuvudtaget.
Möjligen om du skrev ett program som läste text-filen och sedan översatte det och stoppade in det i ett excellblad
Postat: 24 september 2007, 21:29:22
av squiz3r
Hur stoppar man det i ett excel blad från ett c++ program enklast då? Där kan man väll bara skriva text till filer??
Mvh.
Postat: 24 september 2007, 21:29:40
av TomasL
Ett tillägg, du kan möjligtvis formatera om du skapar en xml-fil, men då är vi långt ifrån text/csv-formatet
Postat: 24 september 2007, 21:41:29
av TomasL
squiz3r skrev:Hur stoppar man det i ett excel blad från ett c++ program enklast då? Där kan man väll bara skriva text till filer??
Mvh.
Det finns två sätt.
Antingen skriver du en plug-in för excel (en sorts DLL) som excel laddar in och utför översättningne, eller också ett separat program som översätter din textfil och skapar en xls-fil.
Båda fallen kräver att du har tillgång till Office-API och eventuellt även en utvecklar version av office.
Ett tredje sätt är ju naturligtvis att försöka skriva ett VBA-script som gör detta.
Oavsett vilket, måste du sätta dig ned och skriva ett protokoll, dvs hur man skiljer och beskriver data, formatering och funktioner.
Programmet måste ju kunna skilja på det som är data, det som är funktioner, det som är formatering och det som är ren text.
Vilket iofs kan vara nog så jäkligt.
Postat: 24 september 2007, 22:59:19
av hh
VBA är mitt förslag om du vill ha en enkel lösning. Du måste så klart själv spexa hur formatet skall se ut, och så skulle jag för enkelhetens skull skilja värdena med något annat än tabbar (det blir lätt tabbar annars).
Så där värst många minuter borde det inte ta att skriva ihop något, om man kan VBA, och det är annars lätt att lära sig. Att försöka göra något bra i det är sen en annan sak

Postat: 25 september 2007, 09:00:04
av v-g
Om resultatet är "tabbat" är det bara att klistra in. Man markerar bara lika många kolumner som man har i textfilen (en rad bara) sen klistra in.
Postat: 25 september 2007, 09:05:02
av TomasL
Så länge det bara är data och text går det bra, men han vill även ha formler och formatering med, vilket inte går, utan att skriva en egen app.
Postat: 25 september 2007, 14:08:28
av JimmyAndersson
En annan idé är att man har en excel-mall och infogar textfilen. Om t.ex A1 innehåller värde "2" så körs ett makro. Om A1 innehåller "3" så körs ett annat. Då kan man lägga in formattering utifrån vad som står i textfilen.
Postat: 25 september 2007, 15:07:13
av RasmusB
När jag gick på gymnasiet skrev jag ett tokenkelt program för att hålla koll på antal telefonsamtal på ett kontor. I programmet tryckte man på en knapp, så exporterades massa tab-avgränsad data till urklipp. Detta klistrade man sedan in i en excel-mall där alla formler etc. fanns färdiga.
Inte världens mest eleganta lösning, men det funkade som en tillfällig lösning...

Samma princip skulle ju kunna funka om du skriver ett makro som läser in txt-filen och kopierar den till urklipp och tolkar lite data på vägen...

Postat: 25 september 2007, 15:41:45
av ristomemo
Du kan skriva in formeln du önskar få beräknad i txt filen, sedan den har blivit inporterad så är den uträknad.
EX =B2+45*C8
Postat: 25 september 2007, 17:11:42
av squiz3r
ristomemo: Det tänkte jag väll att man måste kunna göra
Efter lite studerande har jag kommit framm till att man kan göra en binär fil i c++ och den kan man lägga in data som excel förstår, Men då är bara problemet att få tag på det protokollet(?) som excel använder så man vet vad man ska skriva för att den ska göra vad. Jag använder gärna c++ då jag kan grunderna till det och försöker lära mig bättre.
Tror ni det går att få tag på nån lista men vilka komandon som betyder vad i excel's datafiler?? I så fall var/hur??
Mvh..
Postat: 25 september 2007, 17:17:00
av TomasL
Nej det tror jag inte finns, du behöver få tag på API'n, den talar om hur du skall göra.