![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
|
Error al generar excel
Esta aplicacion, quando me voy a generar una planilla Excel, me lo da un error asi: Los campos Text(Sql Server) no si muestra en la planilla, ellos si muestram asi: [Memo]. No se porque. Abajo estan los codigos que generan los archivos Excel.
Código:
procedure TF_GeraGridExcel.FormShow(Sender: TObject);
var
aCountCol: Integer;
i:integer;
begin
try
AGridExcel := TDBGrid.Create(self);
AGridExcel.DataSource:=Agrid.DataSource;
for i:=0 to Agrid.Columns.Count-1
do begin
AgridExcel.Columns.Add;
AGridExcel.Columns[i].Assign(Agrid.Columns[i]);
end;
// Supondo que já tem o grid com as columns..
ClbColunas.Clear;
for aCountCol := 0 to AGridExcel.Columns.count -1 do
ClbColunas.Items.Add(AGridExcel.Columns[aCountCol].Title.Caption+' - '+
AGridExcel.Columns[aCountCol].FieldName);
self.Height := PnlButtons.Height+(AGridExcel.Columns.count * clbColunas.ItemHeight)+PnlTodos.Height+30;
finally
// FreeAndNil(aGridExcel);
end;
end;
function TF_GeraGridExcel.GerarGridNoExcel(ADBGrid : TDbgrid): boolean;
var
ExcelExport: TOLEExcel;
begin
result := TRUE;
Screen.Cursor := crHourGlass;
ExcelExport := TOLEExcel.Create(Application);
try
ExcelExport.IgnoreFont := false;
ExcelExport.TitleFont.Style := ExcelExport.TitleFont.Style + [fsBold];
ExcelExport.CreateExcelInstance;
ExcelExport.DBGridToExcel(AGridExcel);
ExcelExport.Visible := True;
finally
FreeAndNil(ExcelExport);
Screen.Cursor := crDefault;
end;
end;
procedure TF_GeraGridExcel.CheckBox1Click(Sender: TObject);
var
aCount: Integer;
begin
for aCount := 0 to ClbColunas.Items.Count -1 do
ClbColunas.Checked[aCount] := (not ClbColunas.Checked[aCount]);
self.Height := PnlButtons.Height+(AGrid.Columns.count * clbColunas.ItemHeight)+PnlTodos.Height;
end;
procedure TF_GeraGridExcel.BtnGerarGridExcelClick(Sender: TObject);
var
aCount,
aCountMax : Integer;
begin
if CheckedCount(clbColunas) = 0 then
begin
MessageDlg('Marque pelo menos uma coluna',mtInformation,[mbOk],0);
exit;
end;
for aCount :=0 to ClbColunas.Items.Count -1
do begin
if (not ClbColunas.Checked[aCount]) then
begin
AgridExcel.Columns[aCount].Visible:=FALSE;
end;
end;
aCount := 0;
aCountMax := AgridExcel.Columns.Count -1;
while aCount <= aCountMax do
begin
if (not AgridExcel.Columns[aCount].Visible) then
begin
AgridExcel.Columns.Delete(aCount);
dec(aCountMax);
end
else
Inc(acount);
end;
try
ExibeMensagem(emCria,'Gerando planilha Excel');
GerarGridNoExcel(AGridExcel);
finally
ExibeMensagem(emDestroi);
AGridExcel.Columns.Assign(Agrid.Columns);
end;
end;
function TF_GeraGridExcel.CheckedCount(aCheckListBox : TCheckListBox): Integer;
var
aCount: Integer;
begin
result := 0;
for aCount := 0 to aCheckListBox.Items.Count -1 do
if aCheckListBox.Checked[aCount] then
Inc(result);
end;
|
|
#2
|
||||
|
||||
|
y que mensaje de error sale?
__________________
Dulce Regalo que Satanas manda para mi..... |
|
#3
|
|||
|
|||
|
No sale mensaje, solamente que en el Excel, no viene nada en el campo Descricao, apenas la palabra [Memo], asi como estás. Y el campo tiene valor, ejemplo: 555905-02, esto es solo un ejemplo.
|
|
#4
|
|||
|
|||
|
Yo cambie la forma de alimentar el Grid y funciono, o sea, yo pase el DataSet y no el Grid como estava y asi funciono, pero hay un problema. Como es un campo Text, hay <ENTER>. En un texto pequeño como el que yo tengo, ok, pero si for un campo con muchos Enter's, entonces es posible del excel poner cada palavra en un celda, lo que me traria un gran problema. Como rmover estes Enter's? Gracias. Me lo dijeron que son los valores #$D#$A, pero no se como si lo hace.
|
|
#5
|
|||
|
|||
|
Ahora me lo trae todo, pero me gustaria de traer solamente los campos selecionados en unos CheckBoxes, pero ele me lo trae todo lo estas en el DataSet. No consigo traer solo los marcados. Abajo los codigos:
|
![]() |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Generar Informes a Excel en delphi 2010 | HELBERT GARCIA | MS SQL Server | 19 | 28-04-2010 05:21:19 |
| Error al generar instalador con installshield (error 6173) | jangel_ramirezm | Varios | 4 | 09-12-2008 00:07:54 |
| Error al generar Consulta | subzero | Firebird e Interbase | 1 | 26-05-2007 07:30:35 |
| Documentación para generar ficheros Word y Excel | quade | Servers | 2 | 05-01-2005 11:51:34 |
| Generar documentos Word y Excel | quade | C++ Builder | 1 | 03-01-2005 18:18:09 |
|