Форум » [x]Harbour » Вопрос по Excel ? » Ответить

Вопрос по Excel ?

Andrey: Всем привет. Вопрос к знатокам Excel-я, как подсчитать сумму ВСЕХ значений с минусом и с плюсом ? Вот есть таблица из многих столбцов. Как сделать формулу для расчёта этих значений по 2-му столбцу ?

Ответов - 153, стр: 1 2 3 4 5 6 7 8 All

Softlog86: Как красиво :)

Alex_Cher: Мужики... кто нибудь пробовал из Harbor создавать графики в Excel ..? Подскажите пару команд ....

Dima: Alex_Cher C:\MiniGUI\SAMPLES\BASIC\OLE\ + http://clipper.borda.ru/?1-2-0-00000033-000-0-0-1179749939


Alex_Cher: Наткнулся на "грали" .... помогите... вводим в ячейку excel данные oWorkBook:Cells( line, massiv[_i]) := 135 Можно ли из Harbor определить адрес данной ячейки в формате excel для использования фомулах, допустим =СУММ(N8: .....) или как это можно оботи ?

Pasha: Function ExcelAdr(nRow, nCol) Return if(nCol>26,Chr(Int((nCol-1)/26)+64),'')+Chr((nCol-1)%26+65) + StrTrim(Int(nRow))

Alex_Cher: Pasha, спасибо тебе большое ... не думал что так все просто. Только в конце команды я немножко подправлю. Вместо + StrTrim(Int(nRow)) .... + Allrtim( Str( Int( nRow))) Функция StrTrim() по моему была в Clipper, в Harbor ее нет...

Dima: Alex_Cher пишет: + Allrtim( Str( Int( nRow))) Hb_ntos(nRow)

Pasha: Alex_Cher пишет: Функция StrTrim() по моему была в Clipper, в Harbor ее нет... Прошу прошения, это моя функция Function StrTrim(n) Local c := AllTrim(Str(n)) if At('.', c) # 0 c := RemRight(c, '0') c := RemRight(c, '.') endif Return c

Alex_Cher: Мужики, кто плотно с excel работает через Harbor? Над элементарной хренью бьюсь часами... Документации нет, из макросов нихрена ничего не понятно... Короче ячейку обвести рамкой все понятно - oWorkBook:Ceels( 3,12):Borders():Weight := 3 А как обвести группу ячеек одной рамкой ? oWorkBook:Range( oWoorkBook:Ceels( 3,12), ......... ):Borders():Weight := 3 обводит рамкой каждую ячейку, не подходит...

Dima: как то так oSheet:Range(osheet:cells(i,1),osheet:cells(i+3,2)):BorderAround( xlContinuous, xlThin)

Alex_Cher: Dima, спасибо за помощь... Поделись где копаешь документацию?

Dima: Alex_Cher пишет: Поделись где копаешь документацию? на форуме ищу и гуглю

alex_II: Печатая отчёты через Excel потребовалось поменять имя книги Книга1 на своё, но так и не разобрался как. Подскажите, кто сталкивался с этой задачей. oExcel := TOleAuto():New('Excel.Application') oExcel:Visible := .F. oBook := oExcel:WorkBooks:Add() oSheet := oExcel:Get('ActiveSheet') ...

Andrey: В этой же теме я давал как работать с книгами... Как их скрывать от пользователя и т.д. Читай предыдущие темы, я уже не помню где это, но тот же вопрос задавал ранее в этой теме.

Dima: Andrey Ты очень помог человеку

Andrey: Dima пишет: Ты очень помог человеку Ну занят очень пока. А я с таким разбирался и писал в этой теме чуть раньше.

Haz: что то туплю Вопрос в том как сделать :Save() или :SaveAs() ?

Dima: Haz пишет: Вопрос в том как сделать :Save() или :SaveAs() ? Да это понятно с Save... Имелось в виду следующее: создали новую книгу EXCEL , так вот в заловке сразу торчит Книга1 - Microsoft Excel , вот там и хочет поменять и чую спинным мозгом что не получится и только через сохранение

Haz: Dima пишет: чую спинным мозгом что не получится и только через сохранение Согласен с твоим спинным мозгом, не поспоришь

SergKis: Dima пишет чую спинным мозгом что не получится и только через сохранение Так может исп. hbxlsxml.lib для создания Sheet, а потом работать OLE У Игоря был, где то выкладывал, пример простой с dbf получение xml, сделать Книги сколько надо и загрузить в OLE. кусочек из своего варианта с Sheet ... [pre2] oXml := ExcelWriterXML():New( cFile ) // Создаем объект XML oXml:setOverwriteFile( .T. ) FOR nI := 1 TO Len(aSheet) cKey := aSheet[ nI ] cSheet := hb_ntos(nI)+". "+ltrim(cKey) oSheet := oXml:addSheet( cSheet ) // Определяем Лист if aColSel == Nil .or. Len(aColSel) == 0 // Определяем колонки aColSel := CalcAcolselForTbl( oBrw, aColSel ) Endif nColDbf := Len(aColSel) ; nColHead := 0 // Определяем ширины колонок из бровса FOR EACH i IN aColSel ; oSheet:columnWidth( ++nColHead, oBrw:aColumns[ i ]:XML_ColWidth ) NEXT oStyle := oXml:addStyle( "Title" ) // Определяем стиль названия отчета oStyle:alignHorizontal( n2cAlign( DT_CENTER ) ) oStyle:alignVertical ( n2cAlign( DT_CENTER ) ) oStyle:SetfontName( cTitleFont ) oStyle:SetfontSize( nTitleSize ) // oStyle:SetfontSize( 17 ) oStyle:setFontBold() IF lTsbSuperHd // Определяем суперхидер FOR i := 1 To len( oBrw:aSuperHead ) oStyle := oXml:addStyle( "SH" + hb_ntos(i) ) nAlign := oBrw:aSuperHead[ i ][12] cAlign := n2cAlign( nAlign ) oStyle:alignHorizontal( cAlign ) nAlign := oBrw:aSuperHead[ i ][13] cAlign := n2cAlign( nAlign ) oStyle:alignVertical( cAlign ) oStyle:bgColor( '#' + N2hex(oBrw:nClrHeadBack, 16) ) oStyle:SetfontName( GetFontParam(oBrw:aSuperHead[ i ][7])[1] ) oStyle:SetfontSize( GetFontParam(oBrw:aSuperHead[ i ][7])[2] ) If GetFontParam(oBrw:aSuperHead[ i ][7])[3] oStyle:setFontBold() EndIf oStyle:Border( "All", 2, "Automatic", "Continuous" ) oStyle:alignWraptext() NEXT ENDIF nColHead := 0 // Определяем стили шапки колонок ... [/pre2] aSheet - массив названий книг и Len(aSheet) - их кол-во



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