Hallo,
lese via
ADO auf Excel-Daten aus. So weit so gut. Wenn in einer ExcelZelle > 256 Zeichen stehen, gibt das Dataset.Field (da string) ab dem 256. Zeilen '?' aus. Feldtyp AsAnsiString gibt es nicht. Gibt es eine Möglichkeit doch Felder >256 Zeichen korrekt einzulesen?
[DELPHI]
procedure TFRM_AM_Administration.ExcelExportClick(Sender: TObject);
Var ExcelConnection : TADOConnection;
Dataset : TADODataset;
i : integer;
ADOQuery : TADOQuery;
begin
ExcelConnection := TADOConnection.Create(nil);
DataSet := TADODataSet.Create(nil);
ExcelConnection.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;'
+ 'Data Source=U:\test.xls;'
+ 'Mode=ReadWrite;'
+ 'Extended Properties="Excel 8.0;HDR=Yes";'
// + 'LoginPrompt=FALSE;'
+ 'Persist Security Info=False';
DataSet.Connection := ExcelConnection;
DataSet.CommandText := 'SELECT * FROM [Sheet1$]';
DataSet.Open;
DataSet.First;
while (DataSet.Eof = false) do
begin
showmessage(DataSet.Fields[0].Text);
showmessage(DataSet.FieldByName('ColumThree').AsSt ring);
DataSet.Next;
end;
DataSet.Close;
/DELPHI]