Форумы-->Форум для внеигровых тем--> 1|2
Автор | помощь по Делфи |
Собственно вопрос такой выгружаю данные из делфи в эксель и в пустые ячейки экселя поподают то ироглифы то спец символы как этого избежать или что можно сделать? | начать с регистрации на специализированных форумах разработчиков на делфи. | Свяжись с лигвистом он расшифрует ироглифы ,а ты потом на понятном русском напишешь. | Кои 9 ру, ISO 892. Есть фикс в реестре, копай, ищи, всё это просто. | Вы прослушали рассказ о пользе обнуления переменных. | Киберфорум дал отказ? | создавай csv файл и разделяй ячейки знаком ;
каждый день так делаю | проверь, в какой кодировке данные, очевидно же. И да, по делфи полно всего в рунете и 100% твой вопрос уже кто-то да задавал. | Насоветовали блин.
Еррорз прав, через текст перегоняй. При выводе в эксель тот не знает нифига формата твоих данных (число/текст), посему порой дурь выходит. Гони через текст и да пребудет с тобой счастье. | ээээ Макросы? | При чем тут формат данных? Записывается мусор из кучи, инициализироваться нужно. Советчики... | у нас тут каждый второй программист ога | procedure TfrmMain.ExportGrid(const FileName: string);
var b: TBookmark;
app, a, w, ra, r: OleVariant;
x, y: integer;
TopLeft: String;
BottomRight: Variant;
begin
b := qry.Bookmark;
qry.DisableControls;
qry.First;
try
app := CreateOleObject('Excel.Application');
app.Application.EnableEvents := False;
app.DisplayAlerts := false;
w := app.WorkBooks.Add;
a := w.ActiveSheet;
r := VarArrayCreate([0, qry.RecordCount, 0, qry.FieldCount-1], varVariant);
for x := 0 to qry.FieldCount-1 do begin
r[0, x] := qry.Fields[x].DisplayName;
a.Columns[x+1].ColumnWidth := a.Columns[x+1].ColumnWidth * 2;
end;
y := 1;
while not qry.Eof do begin
for x := 0 to qry.FieldCount-1 do
r[y, x] := qry.Fields[x].AsString;
qry.Next;
inc(y);
end;
finally
TopLeft := 'A1';
BottomRight := a.Cells.Item[qry.RecordCount+1, qry.FieldCount];
ra := a.Range[TopLeft, BottomRight];
ra.Value := r;
app.Visible := true;
app.DisplayAlerts := true;
w.SaveAs(ExtractFilePath(FileName) + ChangeFileExt(ExtractFileName(FileName), ''), EmptyParam, EmptyParam, EmptyParam
, EmptyParam, EmptyParam, EmptyParam
, EmptyParam, EmptyParam, EmptyParam
, EmptyParam, EmptyParam);
app := Unassigned;
qry.Bookmark := b;
qry.EnableControls;
end;
end; | ну, табуляцию сам расставишь, я в дельфи любитель, больше по С# | навярняка у тебя не сработает код, из за версий интерпретатора, но суть думаю понял) | для __DestroyeR__:
больше по С#
есть какие-то наработки? можешь показать? | А я-то думаю: кто это по ночам постоянно данные из делфи выкачивает? Вредитель эдакий. | для ElfRush:
ага, змейку помню делал, игру, ну и так по мелочи, в основном для кадров и бухов | ilya_destroyer скайп, одна голова хорошо, а несколько бомба))) | для __DestroyeR__:
Я шарпом не занимаюсь, любопытно просто. Я си изучаю. |
1|2К списку тем
|