[Yii2]Export Ke Excel menggunakan PhpSpreadsheet

April 22, 2017

Ok langsung aja nih, kamu harus install dulu extensionnya disini http://phpspreadsheet.readthedocs.io/en/develop/ , na untuk penggunanya di Yii2 sebagai berikut

use PhpOffice\PhpSpreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;

...

public function actionExportexcel()

{

$spreadsheet = new PhpSpreadsheet\Spreadsheet();
$worksheet = $spreadsheet->getActiveSheet();

//Menggunakan Model

$database =\common\models\RefJafung::find()
->select('kode_jafung,jenis_jafung')
->all();

//JIka menggunakan DAO , gunakan QueryAll()

/*

$sql = "select kode_jafung,jenis_jafung from ref_jafung"

$database = Yii::$app->db->createCommand($sql)->queryAll();

*/

$database = \yii\helpers\ArrayHelper::toArray($database);
$worksheet->fromArray($database, null, 'A4');

$writer = new Xlsx($spreadsheet);

header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="download.xlsx"');
header('Cache-Control: max-age=0');
$writer->save('php://output');

}

Ok begitu aja sih share dari saya, maklum masih belajar Yii


[Lanjutan]Cross tab di report foxpro

April 22, 2017

langsung aja, sebagai lanjutan dari https://rubahmania.wordpress.com/2013/04/15/membuat-cross-tab-di-foxpro/ naa sekarang gimana menampilkan hasil crosstab ke dalam report foxpro, berikut tampilannya

sintaxnya


CREATE CURSOR mdata (chari c(7),ckelas c(2), cguru c(20))

INSERT INTO mdata values('Senin','A','Andi')
INSERT INTO mdata values('Selasa','B','budi')
INSERT INTO mdata values('rabu','C','Cibu')
INSERT INTO mdata values('kamis','B','Jojo')
INSERT INTO mdata values('Jumat','B','Duki')
INSERT INTO mdata values('Sabtu','C','Daki')

SELECT A.Chari AS HARI, A.Ckelas AS KELAS, A.Cguru AS GURU;
FROM mdata A;
GROUP BY A.Chari, A.Ckelas, A.Cguru;
ORDER BY A.Chari, A.Ckelas, A.Cguru asc;
INTO CURSOR cQuery
DO (_GENXTAB) WITH 'cCrosTab'
SELECT cCrosTab
BROWSE NAME cCrosTab NOWAIT
local oFrx
oFrx=NEWOBJECT("QuickReport","FRXOBJ.PRG")
with oFrx
.Create(cCrosTab)
.Show(1)
endwith

berikut linknya https://www.4shared.com/rar/Pg-cz2vIei/frx.html , silahkan dimodify  sendiri yaa maklum saya nubi cuma sekedar share aja 😀


[Yii2]Pengaturan word wrap gridview

April 19, 2017

langsung aja nih, mungkin teman teman pada sudah tau, tp sebagai catatan kecil saya aja sih siapa tau lupa cara pengaturan word wrap di gridview di yii2, sebenernya udah otomtis ga perlu lagi pakai ‘class’=>style : word-wrap’ ,naa begini jadi cukup tambahkan ini


'contentOptions' => ['style' => 'width:auto; white-space: normal;'],

di dalam column, misal


'columns' => [
['class' => 'yii\grid\SerialColumn',
'contentOptions' => ['style' => 'width:auto; white-space: normal;'],
],
[
'header'=>'Nip',
'contentOptions' => ['style' => 'width:50%; white-space: normal;'],
'value'=> function ($model){
return $model['nippeg'];

}
],

...

Ok begitu aja sih om


Bot telegram dengan Yii2

Februari 7, 2017

ok langsung aja yaa , kita gunakan Api telegram disini https://core.telegram.org/  untuk bisa mengakses api nya, kita membutuhkan botfather layaknya CS dia akan kasih token yang sebelumnya kita membuat akun bot terlebih dulu dari botfather bisa dicek disini https://rubahmania.wordpress.com/2017/01/31/bot-telegram-dengan-foxpro/ . naa untuk di Yii saya gunakan yii2 basic, saya copas dari sini http://cintaprogramming.com/2015/07/18/membuat-bot-telegram/ terus saya sesuaikan dengan yii menggunakan httpclient dan membuat controller yang saya taruh dibawah folder commands


<?php
/**
* @link http://www.yiiframework.com/
* @copyright Copyright (c) 2008 Yii Software LLC
* @license http://www.yiiframework.com/license/
*/

namespace app\commands;
use Yii;
use yii\console\Controller;
use app\models\Yiibot;
use yii\data\ActiveDataProvider;
use yii\web\NotFoundHttpException;
use yii\filters\VerbFilter;
use yii\httpclient\Client;
/**
* This command echoes the first argument that you have entered.
*
* This command is provided as an example for you to learn how to create console commands.
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @since 2.0
*/
class YiibotController extends Controller
{
/**
* This command echoes what you have entered as the message.
* @param string $message the message to be echoed.
*/
public function actionIndex()
{
while (true) {
$this->processOne();
}
}

protected function requesturl($method)
{
// $method = $method;
return 'https://api.telegram.org/bot'.Yii::$app->params['token'].'/'.$method;
}

protected function getUpdates($offset)
{
$url = $this->requesturl("getUpdates")."?offset=".$offset;
$resp = file_get_contents($url);
$result = json_decode($resp, true);
if ($result["ok"]==1)
return $result["result"];
return [];
}

protected function sendReply($chatid, $msgid, $text)
{
$data = [
'chat_id' => $chatid,
'text' => $text,
'reply_to_message_id' => $msgid

];

$client = new Client();
$response = $client->createRequest()
->setMethod('post')
->setUrl($this->requesturl('sendMessage'))
->addHeaders([
'content-type' => 'application/x-www-form-urlencoded',

])
->setData($data)
->send();
if ($response->isOk) {

$result= $response->content;
}

print_r($result);
}

protected function createResponse($text)
{
return "definisi " . $text;
}


protected function processMessage($message)
{
$updateid = $message["update_id"];
$message_data = $message["message"];
if (isset($message_data["text"])) {
$chatid = $message_data["chat"]["id"];
$message_id = $message_data["message_id"];
$text = $message_data["text"];
$response = $this->createresponse($text);
$this->sendreply($chatid, $message_id, $response);
}
return $updateid;
}


protected function processOne()
{
$update_id = 0;

if (file_exists("last_update_id")) {
$update_id = (int)file_get_contents("last_update_id");
}

$updates = $this->getupdates($update_id);

foreach ($updates as $message)
{
$update_id = $this->processmessage($message);
}
file_put_contents("last_update_id", $update_id + 1);
}
}

selanjutkan , buka command line (cmd) masuk kedalam folder rootnya

capture

akan jalan terus,kemudian chat deh bot telegram yang dibuat 🙂


[TIKI,POS,JNE]Cek Ongkos Barang Dengan Foxpro

Februari 1, 2017

Langsung aja bro 😀 , saya gunakan dari Rajaongkir

pertama , daftar akun dulu di rajaongkir http://rajaongkir.com/ , kemudia anda mendapatkan token

kedua, copas aja form yg saya kasih , berikut SSnya

capture

naa ini link sourcenya https://www.mediafire.com/?yzmbqmq2olwjmy4

PERHATIAN 

Karena ambil paket gratis jadi ada limit , jadi maaf jika ada error dan tidak semua bisa tambil datanya 😀