Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Excel csv Datei formatieren! (https://www.delphipraxis.net/109924-excel-csv-datei-formatieren.html)

Grolle 10. Mär 2008 10:56


Excel csv Datei formatieren!
 
Hallo,

ich möchte mit Excel eine eingelesene CSV-Datei formatieren. Alles soll als "Standard" formatiert werden.
Leider spuckt mir ein aufgezeichnete Macro nur Cells.Select aus?!

Viele Grüße ...

Grolle 12. Mär 2008 16:25

Re: Excel csv Datei formatieren!
 
*PUTSCH* :mrgreen:

Chemiker 12. Mär 2008 18:24

Re: Excel csv Datei formatieren!
 
Hallo Grolle,

etwas mehr Information währe nicht schlecht. Wie liest Du das CSV – File in Excel ein?
Was ist Dein Problem?

Bis bald Chemiker

Grolle 12. Mär 2008 18:40

Re: Excel csv Datei formatieren!
 
Hallo,

laden tu ich die Datei so:
Delphi-Quellcode:
  var
    Excel: Variant;
    sheet : OleVariant;
begin
  try
    Excel := GetActiveOleObject('Excel.Application');
  except
    Excel := CreateOleObject('Excel.Application');
  end;
  Excel.Visible := True;
  Excel.Workbooks.Open('C:\Muster.csv');
Jetzt möchte ich alle Zellen der Datei als Standard formatiert haben um
die Datei dann wieder als CSV zu speichern.

Viele Grüße ...

Chemiker 12. Mär 2008 21:48

Re: Excel csv Datei formatieren!
 
Hallo Grolle,

beim Laden der Datei sind die Zellen doch als Standard formatiert.

Wie sehen die Daten aus und in welcher Form sollen die Daten wieder abgespeichert werden.
Einfach mal ein paar Datensätze zeigen.

Bis bald Chemiker

Grolle 12. Mär 2008 22:04

Re: Excel csv Datei formatieren!
 
Hallo,

in der CSV-Datei sind Zellen wissenschaftlich formatiert:
Delphi-Quellcode:
0,00E+00   0,00E+00   0,00E+00   0,00E+00   0,00E+00   0,00E+00
6,14E+00   6,14E+00   1,00E+02   6,00E+00   6,00E+00   1,00E+02
Delphi-Quellcode:
nach der Standardformatierung sieht es dann so aus (wenn man es händisch macht):
0   0   0   0   0   0
6,14   6,14   100   6   6   100
Viele Grüße ...

grenzgaenger 12. Mär 2008 23:16

Re: Excel csv Datei formatieren!
 
sorry, aber das ist nicht standard, sondern nummerisch mit entsprechenden nachkommastellen. du kannst sie entweder in EXCEL als nummerisch formatieren oder wenn du dir den umweg sparen möchtest, auch direkt in delphi um sie dann anschliessend abzuspeichern. ich würde den zweiten weg bevorzugen.

<HTH> GG

ps: FYI: beim speichern von 'n CSV gehen die formatierungen in EXCEL wieder verlohren..

Chemiker 13. Mär 2008 00:27

Re: Excel csv Datei formatieren!
 
Hallo Grolle,

es gibt eine Möglichkeit, dass Du Deine Datei umbenennst in dem Beispiel heißt die Datei Test.csv. sie muss unbenannt werden in Test.txt.
Diese Datei dann laden und umformatieren und als neue Datei unter z.B. TestNeu.csv abspeichern.

Delphi-Quellcode:
Excel.Application.Workbooks.OpenText (FileName:= DateiName);
  Excel.Worksheets['Test'].Cells.Select;
  Excel.Selection.NumberFormat := '@';
  Excel.Worksheets['Test'].SaveAs (NeuerDateiName);
Bis bald Chemiker

Grolle 13. Mär 2008 10:16

Re: Excel csv Datei formatieren!
 
Hallo,

bin jetzt soweit:
Delphi-Quellcode:
  Excel.Workbooks.Open('C:\Dokumente und Einstellungen\Stefan Göppert\Desktop\test.csv');
  Excel.Worksheets['Test'].Cells.Select;
  Excel.Selection.NumberFormat := '@';
Wenn ich die Datei als Text lade, erkennt Excel die Felder nicht. Mein Problem ist jetzt
die Formatierung. Alles wird als Text formatiert (schonmal ein Fortschritt, aber nicht optimal ;-)).
Wie kann man denn nur Standardformatierung zuweisen?

Viele Grüße ...

Chemiker 13. Mär 2008 13:33

Re: Excel csv Datei formatieren!
 
Hallo Grolle,

du bist eigentlich fertig, wie in #8 geschrieben muss die
Datei: 'C:\Dokumente und Einstellungen\Stefan Göppert\Desktop\test.csv'
in
Datei: 'C:\Dokumente und Einstellungen\Stefan Göppert\Desktop\test.txt' // .txt-Endung!!!!!!!!

umbenannt werden, entweder mit Rename (), nach dem Einlesen in Excel kann die Datei natürlich wieder umbenannt werden.

Wenn man es einfach haben will, muss die Datei als TEXT – Datei geladen werden, sonst funktioniert die Formatierung nicht.

Bis bald Chemiker


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:26 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz