![]() |
Excel und Delphi
Hi,
ich exportiere Daten von Delphi nach Excel. Nun gibt es Fälle in denen ich 10-stellige Nummern die in Delphi als String gelesen werden übergeben möchte. Diese Nummern haben führende 0en. Diese Nummer wird in Excel als Zahl erkannt und die führenden 0en werden abgeschnitten. z.B. 0000123789 in Delphi wird zu 123789 in Word Die Methode "ExcelApplication.Workbooks.OpenText" hat als Parameter auch die Datentypen der einzelnen Spalten. Dies scheint Excel bei der Übergabe jedoch zu ignorieren. Ich habe auch versucht ein ' vor die Zahl zu hängen damit Excel es als Text erkennt. In Excel direkt sieht man das ' dann ja nicht mehr. Bei der Übergabe zeigt er es aber an. Dies darf natürlich nicht sein. Das selbe Problem habe ich mit Feldern die mit + oder - Anfangen. Hier kommt dann in Excel #NAME? Delphi 6 Enterprise Excel97 oder Excel2000 (hab schon beides probiert, kommt aber aufs gleiche raus) ich hoffe es kann mir jemand helfen. |
Re: Excel und Delphi
wie arbeitest du mit excel, also über ole oder etwas anderem???
wie ist das feld/spalte in excel definiert, als text oder zahl??? |
Re: Excel und Delphi
Zitat:
|
Re: Excel und Delphi
@hflick: das funktioniert, wie ich etwas weiter unten geschrieben habe, leider nicht. Das ' wird mit angezeigt. Es steht dann in der Zelle '0003. Erst wenn ich manuell dieses Feld in Excel bearbeite und wieder verlasse (mit Enter) dann merkt Excel das er das Hochkomma nicht mit anzeigen soll.
@Andidreas: ja, mit OLE. Excel erkennt den übergebenen Wert als Zahl obwohl ich ihm bei der Methode ExcelApplication.Workbooks.OpenText mitgeben das es ein Text ist. |
Re: Excel und Delphi
Zitat:
|
Re: Excel und Delphi
klappt leider auch nicht.
wenn ich den Wert in "" stelle, also "0003" dann ignoriert er das einfach. Macht daraus also auch einfach 3 Wenn ich nur ein " davor Stelle klappt das ganze auch nicht. |
Re: Excel und Delphi
Zitat:
|
Re: Excel und Delphi
ja, Delphi6/Win32
wär super wenn du mir helfen könntest :) |
Re: Excel und Delphi
Zitat:
|
Re: Excel und Delphi
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Hier der komplette Code meiner Unit. Das Formular ist nur nen Button... Ich habe das gesamte Projekt angehängt.
Delphi-Quellcode:
unit uMain;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, System.ComponentModel, Borland.Vcl.StdCtrls, Microsoft.Office.Interop.Excel, System.Reflection; type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.nfm} procedure TForm1.Button1Click(Sender: TObject); var lApp: ApplicationClass; empty: System.&Object; begin lApp := ApplicationClass.Create; empty := System.&Type.Missing; lApp.Workbooks.Add(empty); lApp.Visible := True; lApp.ActiveCell.Value2 := '''000000003'; end; end. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:52 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 by Thomas Breitkreuz