Форум » [x]Harbour » экспорт из .dbf в .xls , без отображения "0" » Ответить

экспорт из .dbf в .xls , без отображения "0"

stafic24: здравствуйте помогите пожалуйста нужно сделать экспорт из .dbf в .xls , без отображения "0" может кто знает примерный код? или подскажите как переписать макрос под harbour: ActiveWindow.DisplayZeros = False. спасибо

Ответов - 9

Dima: Наверное так oSheet:DisplayZeros:=.F. или возможно так oExcel:ActiveWindow:DisplayZeros:=.F.

stafic24: не работает

Dima: stafic24 пишет: не работает Работает однако. Вот так oExcel:ActiveWindow:DisplayZeros:=.F.


stafic24: [pre2] procedure ved_vspom local dadd:=ctod('31.12'+str(year(date()),4)) local n,i,j,fName:="V12.xls",v1,v2 local nana, oHoja1, oExcel, vr,jjj,vr1, nLet, spis,vr2 local godd, much:={}, mkvouch:={},vGood,vBad Local nActual := 0, oMeter,oDlg99, oBmp1, oBmp2, oBrush, omma local hItogo:=hash() local mItog:={0,0} local vsego,good ferase(fName) if file(fName) return ENDIF n = EX_CreateChannel(fName) psDefault='' nana=' ¹3"' ZNKZ=1 kod_usl=str(znkz,6) name_usl=seek_KOD('SUSL',2,str(znkz,6),'QNUSL','') name_usl=alltrim(oemtoansi(name_usl)) EX_CreateSheet(n, kod_usl, psDefault, 100, 300, 1, 05, 05, 05, 05, 1) EX_SetCurrentStyle(n,2,1,.t., 0, 0) EX_SetCurrentFont(n,'Arial Cyr',5,.t.,.t.,,7) EX_SetCurrentStyleColor(n,0) EX_SetCellText(n, 0, 0,nana) EX_SetCellText(n,1, 1,name_usl+ "Ðàñïðåäåëåíèå ôàêòè÷åñêèõ ðàñõîäîâ âñïîìîãàòåëüíûõ ñòðóêòóðíûõ ïîäðàçäåëåíèé ñîãëàñíî âûïîëíåíûõ ïîêàçàòåëåé çà "+str(mgodi,4)+" ã.") EX_SetCellText(n,2, 1,"") * EX_SetMergeArea(n, 0, 0, 0, 15) *EX_SetCellText(n, 3, 0, "Í") EX_SetCellText(n, 3, 1, "Íàèìåíîâàíèå óñëîâèé îêàçàíèÿ ìåäèöèíñêîé ïîìîùè, îñíîâíûõ ñòðóêòóðíûõ ïîäðàçäåëåíèé") EX_SetCellText(n, 3, 2, "Êîë. âûïîëåííûõ ïîêàçàòåëåé") EX_SetCellText(n, 3, 3, "1 10 01 00") EX_SetCellText(n, 3, 4, "1 10 02 01") EX_SetCellText(n, 3, 5, "1 10 02 04") EX_SetCellText(n, 3, 6, "1 10 02 05") EX_SetCellText(n, 3, 7, "1 10 03 02") EX_SetCellText(n, 3, 8, "1 10 03 03") EX_SetCellText(n, 3, 9, "1 10 03 04") EX_SetCellText(n, 3,10, "1 10 03 05") EX_SetCellText(n, 3,11, "1 10 04 01") EX_SetCellText(n, 3,12, "1 10 05 00") EX_SetCellText(n, 3,13, "1 10 06 00") EX_SetCellText(n, 3,14, "1 10 07 01") EX_SetCellText(n, 3,15, "1 10 07 03") EX_SetCellText(n, 3,16, "1 10 07 04") EX_SetCellText(n, 3,17, "1 10 10 02") EX_SetCellText(n, 3,18, "1 10 10 03") EX_SetCellText(n, 3,19, "1 10 10 08") EX_SetCellText(n, 3,20, "2 40 01 00") EX_SetCellText(n, 3,21, "2 40 03 00") EX_SetCellText(n, 3,22, "1 30 03 00") EX_SetCellText(n, 3,23, "ÈÒÎÃÎ") EX_SetColumnWidth(n, 0,0 ) EX_SetColumnWidth(n, 1,23 ) EX_SetColumnWidth(n, 2,8 ) EX_SetColumnWidth(n, 3,12 ) EX_SetColumnWidth(n, 4,12 ) EX_SetColumnWidth(n, 5,10 ) EX_SetColumnWidth(n, 6,12 ) EX_SetColumnWidth(n, 7,12 ) EX_SetColumnWidth(n, 8,12 ) EX_SetColumnWidth(n, 9,12 ) EX_SetColumnWidth(n,10,10 ) EX_SetColumnWidth(n,11,12 ) EX_SetColumnWidth(n,12,10 ) EX_SetColumnWidth(n,13,12 ) EX_SetColumnWidth(n,14,12 ) EX_SetColumnWidth(n,15,12 ) EX_SetColumnWidth(n,16,12 ) EX_SetColumnWidth(n,17,12 ) EX_SetColumnWidth(n,18,10 ) EX_SetColumnWidth(n,19,12 ) EX_SetColumnWidth(n,20,12 ) EX_SetColumnWidth(n,21,12 ) EX_SetColumnWidth(n,22,12 ) EX_SetColumnWidth(n,23,14 ) *EX_SetColumnWidth(n,21,15 ) EX_SetCurrentFont(n,'Arial Cyr',5,.f.,.f.,,7) EX_SetCurrentStyleColor(n,0) PRIVATE MAS[24] DO FORM_VSPOM && ZRASP.PRG SELE V_VSPOM i=1 lastr=lastrec() GO 1 FOR i=1 TO 13 *MAS[1]=STR(QCEX,2) MAS[2]=alltrim(oemtoansi(QNAME)) MAS[3]=QCIKL MAS[4]= Q0100 MAS[5]= Q0201 MAS[6]= Q0204 MAS[7]= Q0205 MAS[8]= Q0302 MAS[9]= Q0303 MAS[10]=Q0304 MAS[11]=Q0305 MAS[12]=Q0401 MAS[13]=Q0500 MAS[14]=Q0600 MAS[15]=Q0701 MAS[16]=Q0703 MAS[17]=Q0704 MAS[18]=Q1002 MAS[19]=Q1003 MAS[20]=Q1008 MAS[21]=Q4100 MAS[22]=Q4300 MAS[23]=Q3301 MAS[24]=QITOV * EX_SetCellText(n, i+3, 0, MAS[1]) EX_SetCellText(n, i+3, 1, MAS[2]) EX_SetCellNumber(n, i+3, 2, MAS[3]) EX_SetCellNumber(n, i+3, 3, MAS[4]) EX_SetCellNumber(n, i+3, 4, MAS[5]) EX_SetCellNumber(n, i+3, 5, MAS[6]) EX_SetCellNumber(n, i+3, 6, MAS[7]) EX_SetCellNumber(n, i+3, 7, MAS[8]) EX_SetCellNumber(n, i+3, 8, MAS[9]) EX_SetCellNumber(n, i+3, 9, MAS[10]) EX_SetCellNumber(n, i+3,10, MAS[11]) EX_SetCellNumber(n, i+3,11, MAS[12]) EX_SetCellNumber(n, i+3,12, MAS[13]) EX_SetCellNumber(n, i+3,13, MAS[14]) EX_SetCellNumber(n, i+3,14, MAS[15]) EX_SetCellNumber(n, i+3,15, MAS[16]) EX_SetCellNumber(n, i+3,16, MAS[17]) EX_SetCellNumber(n, i+3,17, MAS[18]) EX_SetCellNumber(n, i+3,18, MAS[19]) EX_SetCellNumber(n, i+3,19, MAS[20]) EX_SetCellNumber(n, i+3,20, MAS[21]) EX_SetCellNumber(n, i+3,21, MAS[22]) EX_SetCellNumber(n, i+3,22, MAS[23]) EX_SetCellNumber(n, i+3,23, MAS[24]) * @ 23,0 SAY '5i,cex,pok,Si ' * ??i,V_USLUG->qCEX,MAS[1],V_USLUG->QPOK,V_USLUG->QSUM1,QNAME,ALIAS() * INKEY(0) SELE V_VSPOM SKIP NEXT * ENDDO USE EX_SetCurrentFont(n,'Arial Cyr',5,.f.,.f.,,7) EX_SetCurrentStyleColor(n,21) EX_DrawTable(n, 0, 1, i+5, 23, 01, 01) EX_SetMergeArea(n, 0, 0, 0, 23) EX_SetMergeArea(n, 1, 1, 1, 23) EX_SetMergeArea(n, 2, 1, 2, 23) * EX_SetMergeArea(n, 3, 0, 3, 15) EX_DestroyChannel(n) if file(fName) run(fName) else avarsoob('Íåò ôàéëà '+fName+'!!!') endif * inkey(0) return [/pre2] вот так формируется excel.

Dima: stafic24 пишет: n = EX_CreateChannel(fName) Что за функция такая ? stafic24 пишет: вот так формируется excel у меня так (открывается) [pre2] func Start_Excel() Local Res:=.f. #ifndef __XHARBOUR__ #xcommand TRY => BEGIN SEQUENCE WITH {|e| Break( e )} #xcommand CATCH [<!oErr!>] => RECOVER [USING <oErr>] <-oErr-> #endif TRY oExcel := GetActiveObject( "Excel.Application" ) oExcel:DisplayAlerts:=.f. Res:=.t. CATCH Res:=.f. TRY oExcel := CreateObject( "Excel.Application" ) Res:=.t. CATCH Res:=.f. END END Return Res [/pre2]

Dima: stafic24 пишет: n = EX_CreateChannel(fName) Если предположить что n OLE объект , тогда вот так n:ActiveWindow:DisplayZeros:=.F.

stafic24: не работает

Dima: stafic24 Покажи исходник функции EX_CreateChannel

Dima: так и не дождались исходника EX_CreateChannel



полная версия страницы