FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour C贸mo guardar libro de excel
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM

C贸mo guardar libro de excel

Posted: Fri May 30, 2014 04:35 PM

Hola Amigos:

Estoy creando un libro de Excel sin problemas, el 煤nico problema es que no encuentro
c贸mo guardar (salvar) el libro permitiendo al usuario elegir donde guardarlo?

Lo he intentado con oExcel:Get("ActiveWorkBook"):SaveAs()
pero no da opci贸n de elegir el path y el nombre.

Saludos

SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Posts: 1144
Joined: Mon Feb 05, 2007 07:15 PM

Re: C贸mo guardar libro de excel

Posted: Fri May 30, 2014 08:12 PM
Paisa, has probado asi?
saludos..

Code (fw): Select all Collapse
cHoja := "ventas"

oBook  := oExcel:WorkBooks:Add()

oSheet := ::oBook:Worksheets(1)

oSheet:name := cHoja

oExcel:Sheets( cHoja  ):Select() 

oSheet := ::oExcel:Get( "ActiveSheet" )      

oSheet:Cells( ::nRow, 1 ):Value = 'titulos'

if oExcel:lOpen
    oBook:Save()
endif
Cesar Cortes Cruz

SysCtrl Software

Mexico



' Sin +- FWH es mejor "
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM

Re: C贸mo guardar libro de excel

Posted: Fri May 30, 2014 10:20 PM

Brother:

Nop, tampoco me funciona. no pregunta al usuario nombre y ruta donde salvarlo.

Gracias por el apoyo.

Saludos

SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Posts: 1144
Joined: Mon Feb 05, 2007 07:15 PM

Re: C贸mo guardar libro de excel

Posted: Fri May 30, 2014 10:54 PM

prueba , no terminar el OBJETO.

// oExcel:Quit()

Cesar Cortes Cruz

SysCtrl Software

Mexico



' Sin +- FWH es mejor "
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM

Re: C贸mo guardar libro de excel

Posted: Fri May 30, 2014 11:07 PM
Brother:

No hay de pi帽a, el c贸digo lo tengo as铆

Code (fw): Select all Collapse
    oExcel := TOleAuto():New("Excel.Application")
    oBook := oExcel:WorkBooks:Add()
    oExcel:Set("DisplayAlerts",(.F.))
         ...... l铆neas para llenar la hoja de excel
         ...... l铆neas para llenar la hoja de excel
         ...... l铆neas para llenar la hoja de excel
    oBook:Save()


Y nada, se sale c贸mo si ya hubiera guardado el libro de Excel, pero si te fijas
ni nombre tiene a煤n.

Saludos
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Posts: 1144
Joined: Mon Feb 05, 2007 07:15 PM

Re: C贸mo guardar libro de excel

Posted: Sat May 31, 2014 12:37 AM

deja hago una prueba, en mi pc.

Cesar Cortes Cruz

SysCtrl Software

Mexico



' Sin +- FWH es mejor "
Posts: 1144
Joined: Mon Feb 05, 2007 07:15 PM

Re: C贸mo guardar libro de excel

Posted: Sat May 31, 2014 12:45 AM
paisa puedes probar este test?
en win 8 funciona..
saludos..
Code (fw): Select all Collapse
 #include "FiveWin.ch"
*
Function Main()
   Local oSheet
   local oBook
   local oExcel
   local i
   
   local oWait
   
   local nRow := 4
   local nStart := nRow
   local cMemo := ''   
   local oClip
   
   
   WAITON(space(30), @oWait)
   oWait:say(1,1,'Creando el objeto...')
   
   oExcel:=CreateObject( "excel.application" );oExcel:DisplayAlerts=.F.;oBook:=oExcel:Workbooks:Add();oSheet:=oExcel:ActiveSheet 
   oSheet:Range( "A1" ):Value ="65 mil REGISTROS";oSheet:Range( "A1:D1" ):HorizontalAlignment := 7
   oSheet:Cells(2,3):Value = Time()
   For I=2 To 65000
      oWait:say(2,1, 'Procesando registro: ' + str(i) + space(10 ))
      //oSheet:Cells(I,2):Value = I-1
      cMemo += ''
      cMemo += chr(9) + str(i-1,10)
      cMemo += CRLF
      nRow++     
      

      if len(cMemo) >= 16000  .or. i = 65000
         oClip := TClipBoard():New()
         oClip:SetText( cMemo )
         oSheet:Cells( nStart, 1 ):Select()
         oSheet:Paste()
         oClip:Clear()
         cMemo       := ""
         nStart   := nRow            
         oClip:End()
      endif               
      
      
      sysrefresh()
   Next I
   oSheet:Cells(I-1,3):Value = Time()
   // oExcel:Visible = .T. 
   oExcel:Save()
   
   waitoff(@oWait)
Return Nil

static function waitOn( cCaption, oWait, cTitle )  //simula un waiton de grump
   LOCAL nWidth
   local lVal := .t.
   local oBrush

   LOCAL   bAction  := { || .t. }
   default cTitle := "Usuario, un momento por favor"
   DEFINE BRUSH oBrush COLOR RGB( 192, 216, 255 )   //rosa


   IF cCaption == NIL
      DEFINE DIALOG oWait ;
         FROM 0,0 TO 12, Len( cTitle ) + 4 ;
         STYLE nOr( DS_MODALFRAME, WS_POPUP ) BRUSH oBrush TRANSPARENT
   ELSE
      DEFINE DIALOG oWait ;
         FROM 0,0 TO 12, Max( Len( cCaption ), Len( cTitle ) ) + 4 ;
         TITLE cTitle ;
         STYLE DS_MODALFRAME BRUSH oBrush TRANSPARENT
   ENDIF

   oWait:cMsg   := cCaption

   nWidth := oWait:nRight - oWait:nLeft

   ACTIVATE DIALOG oWait CENTER ;
      ON PAINT oWait:Say( 1, 0, xPadC( oWait:cMsg, nWidth ) ) ;
      NOWAIT
   sysRefresh()
return (lVal)

static function WaitOff( oWait )
   IF valtype(oWait) <> 'U'  /* waiton has to be called first! */
      oWait:end()
      oWait := NIL
   ENDIF
   sysRefresh()
RETURN NIL
Cesar Cortes Cruz

SysCtrl Software

Mexico



' Sin +- FWH es mejor "
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM

Re: C贸mo guardar libro de excel

Posted: Sat May 31, 2014 01:23 AM

Paisano:

Corriendo tu ejemplo en W8 64bits se queda congelado y al cancelarlo
v铆a administrador manda el error

Error description: Error excel.application/1722 Unknown error: SAVE
Args:

Stack Calls

Called from: source\rtl\win32ole.prg => TOLEAUTO:SAVE(0)
Called from: C:\TIbarrolaCFDI\Source\TestE.Prg => TESTE(48)

La l铆nea 48 es:

oExcel:Save()

Uso Office 2007

Saludos

SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Posts: 2064
Joined: Fri Jan 06, 2006 09:28 PM

Re: C贸mo guardar libro de excel

Posted: Sat May 31, 2014 02:48 AM
Asi me trabaja bien, saludos... :-)

Code (fw): Select all Collapse
 聽 
oHoja:SaveAs( 'c:\' + 'PRUEBA.XLS' ) // SALVAR ARCHIVO
oHoja:End()
oExcel:WorkBooks:Close() //oExcel:End()
Dios no est谩 muerto...



Gracias a mi Dios ante todo!
Posts: 1144
Joined: Mon Feb 05, 2007 07:15 PM

Re: C贸mo guardar libro de excel

Posted: Sat May 31, 2014 02:58 AM

paisa,
creo que es tu versi贸n de office,

saludos.

Cesar Cortes Cruz

SysCtrl Software

Mexico



' Sin +- FWH es mejor "
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM

Re: C贸mo guardar libro de excel

Posted: Sat May 31, 2014 04:03 PM

C茅sar:

Ver茅 de conseguir otra versi贸n de office, Gracias.

Jos茅 Luis:

La idea es permitir al usuario Elegir nombre y ruta donde salvar. Gracias

Saludos

SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Posts: 1144
Joined: Mon Feb 05, 2007 07:15 PM

Re: C贸mo guardar libro de excel

Posted: Sat May 31, 2014 04:48 PM

paisa, ya vamos en el office 2013 jeje,
te llevo uno,, ?
saludos...

Cesar Cortes Cruz

SysCtrl Software

Mexico



' Sin +- FWH es mejor "

Continue the discussion