{"id":691,"date":"2008-05-21T17:15:16","date_gmt":"2008-05-21T17:15:16","guid":{"rendered":"http:\/\/6teen.ru\/?p=517"},"modified":"2008-05-21T17:15:16","modified_gmt":"2008-05-21T17:15:16","slug":"1141","status":"publish","type":"post","link":"http:\/\/pblog.ru\/lab\/?p=691","title":{"rendered":"\u041a\u0430\u043a \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 dbgrid \u0432 excel \u0438\u043b\u0438 clipboard"},"content":{"rendered":"<p>\u041a\u0430\u043a \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 dbgrid \u0432 excel \u0438\u043b\u0438 clipboard<br \/>\n<!--more--><\/p>\n<pre class=\"alt2\" style=\"margin:0px; padding:6px; border:1px inset; width:580px; height:320px; overflow:auto\"><div>\u041a\u0430\u043a \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 dbgrid \u0432 excel \u0438\u043b\u0438 clipboard\n\n\u041f\u0440\u0438\u043c\u0435\u0440 dbgrid (dbgrid1) \u0438\u043c\u0435\u0435\u0442 \u0432\u0441\u043f\u043b\u044b\u0432\u0430\u044e\u0449\u0435\u0435 \u043c\u0435\u043d\u044e, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0434\u0432\u0435 \u043e\u043f\u0446\u0438\u0438 \"send to excel\" \u0438 \"copy\"\n\/\/ \u0417\u0410\u041c\u0415\u0427\u0410\u041d\u0418\u0415: \u044d\u0442\u043e\u0442 \u043c\u0435\u0442\u043e\u0434 \u0434\u043e\u043b\u0436\u0435\u043d \u0432\u043a\u043b\u044e\u0447\u0430\u0442\u044c comobj, excel97 units\n\/\/ \u041e\u0411\u041d\u041e\u0412\u041b\u0415\u041d\u0418\u0415: \u0435\u0441\u043b\u0438 \u0412\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0435 delphi 4, \u0442\u043e \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u0435 xlwbatworksheet \u043d\u0430 1 (\u043e\u0434\u0438\u043d)\n\n\/\/-----------------------------------------------------------\n\/\/ \u0435\u0441\u043b\u0438 toexcel = false, \u0442\u043e \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u043c \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 dbgrid \u0432 clipboard\n\/\/ \u0435\u0441\u043b\u0438 toexcel = true, \u0442\u043e \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u043c \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 dbgrid \u0432 microsoft excel\nprocedure exportdbgrid(toexcel: boolean);\nvar\nbm: tbookmark;\ncol, row: integer;\nsline: string;\nmem: tmemo;\nexcelapp: variant;\nbegin\nscreen.cursor := crhourglass;\ndbgrid1.datasource.dataset.disablecontrols;\nbm := dbgrid1.datasource.dataset.getbookmark;\ndbgrid1.datasource.dataset.first;\n\n\/\/ \u0441\u043e\u0437\u0434\u0430\u0451\u043c \u043e\u0431\u044a\u0435\u043a\u0442 excel\nif toexcel then\nbegin\nexcelapp := createoleobject('excel.application');\nexcelapp.workbooks.add(xlwbatworksheet);\nexcelapp.workbooks[1].worksheets[1].name := 'grid data';\nend;\n\n\/\/ \u0421\u043f\u0435\u0440\u0432\u0430 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 memo\n\/\/ \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0431\u044b\u0441\u0442\u0440\u0435\u0435, \u0447\u0435\u043c \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0438\u0445 \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u0432 excel\nmem := tmemo.create(self);\nmem.visible := false;\nmem.parent := mainform;\nmem.clear;\nsline := '';\n\n\/\/ \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u0434\u043b\u044f \u0438\u043c\u0451\u043d \u043a\u043e\u043b\u043e\u043d\u043e\u043a\nfor col := 0 to dbgrid1.fieldcount-1 do\nsline := sline + dbgrid1.fields[col].displaylabel + #9;\nmem.lines.add(sline);\n\n\/\/ \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0435 \u0438\u0437 memo\nfor row := 0 to dbgrid1.datasource.dataset.recordcount-1 do\nbegin\nsline := '';\nfor col := 0 to dbgrid1.fieldcount-1 do\nsline := sline + dbgrid1.fields[col].asstring + #9;\nmem.lines.add(sline);\ndbgrid1.datasource.dataset.next;\nend;\n\/\/ \u043a\u043e\u043f\u0438\u0440\u0443\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 clipboard\nmem.selectall;\nmem.copytoclipboard;\n\/\/ \u0435\u0441\u043b\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e, \u0442\u043e \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c \u0438\u0445 \u0432 excel\n\/\/ \u0435\u0441\u043b\u0438 \u043d\u0435\u0442, \u0442\u043e \u043e\u043d\u0438 \u0443\u0436\u0435 \u0432 \u0431\u0443\u0444\u0435\u0440\u0435 \u043e\u0431\u043c\u0435\u043d\u0430\nif toexcel then\nbegin\nexcelapp.workbooks[1].worksheets['grid data'].paste;\nexcelapp.visible := true;\nend;\n\nfreeandnil(excelapp);\ndbgrid1.datasource.dataset.gotobookmark(bm);\ndbgrid1.datasource.dataset.freebookmark(bm);\ndbgrid1.datasource.dataset.enablecontrols;\nscreen.cursor := crdefault;\nend;\n<\/div><\/pre>\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u041a\u0430\u043a \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 dbgrid \u0432 excel \u0438\u043b\u0438 clipboard<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[62,416],"tags":[1119,1906,1891,1872],"_links":{"self":[{"href":"http:\/\/pblog.ru\/lab\/index.php?rest_route=\/wp\/v2\/posts\/691"}],"collection":[{"href":"http:\/\/pblog.ru\/lab\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/pblog.ru\/lab\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/pblog.ru\/lab\/index.php?rest_route=\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"http:\/\/pblog.ru\/lab\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=691"}],"version-history":[{"count":0,"href":"http:\/\/pblog.ru\/lab\/index.php?rest_route=\/wp\/v2\/posts\/691\/revisions"}],"wp:attachment":[{"href":"http:\/\/pblog.ru\/lab\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=691"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/pblog.ru\/lab\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=691"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/pblog.ru\/lab\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=691"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}