public function setRangeValue($cellarea, $value, $type)
    {
        if ($cellarea == '')
            throw new Exception('Cellarea not specified');
        
        if ($value == '')
            throw new Exception('Value not specified');
        
        if ($type == '')
            throw new Exception('Type not specified');
        
        //Build URI
        $strURI = Product::$baseProductUri . '/cells/' . $this->getFileName() . '/worksheets/' . $this->worksheetName . 
                  '/cells?cellarea=' . $cellarea . '&value=' . $value . '&type=' . $type;
        //Sign URI
        $signedURI = Utils::sign($strURI);
        
        //Send request and receive response stream
        $responseStream = Utils::processCommand($signedURI, 'POST', '', '');
        
        $v_output = Utils::validateOutput($responseStream);
        
        if ($v_output == '') {
            $strURI = Product::$baseProductUri . '/storage/file/' . $this->getFileName();
            $signedURI = Utils::Sign($strURI);
            $responseStream = Utils::processCommand($signedURI, "GET", "", "");

            $outputPath = AsposeApp::$outPutLocation . $this->getFileName();
            Utils::saveFile($responseStream, $outputPath);
            return $outputPath;
        }    
        else
            return $v_output;
    }