2016-07-31 13 views
0

私はアップロードするにはGoogleスプレッドシート、PHPのXLSファイルですか?

"google/apiclient": "1.1.7", 
    "asimlqt/php-google-spreadsheet-client": "2.3.7", 
    "phpoffice/phpexcel": "1.8.1" 

を使用して、私は

"google/apiclient": 

    $service = new \Google_Service_Drive($client->getGoogleClient()); 
    $file = new \Google_Service_Drive_DriveFile(); 

    $file->setMimeType('application/vnd.google-apps.spreadsheet'); 
    $insertArray = [ 
     'mimeType' => 'application/vnd.google-apps.spreadsheet', 
    ]; 
    try { 
     $createdFile = $service->files->insert($file, $insertArray); 
     $spreadsheetId = $createdFile->getId(); 
    } catch (\Exception $e) { 
     $e->getMessage() 
    } 

を駆動し、私がalternativeUrlたGoogleの新しいスプレッドシートを作成する - https://docs.google.com/spreadsheets/d/xxxxx/edit?usp=drivesdkをして、これはokです、私はemtyのGoogleのスプレッドシート

を持って、このURLにアクセスしてください

私はファイルをアップロードし、PHPExelで生成し、Googleドライブに保存してアップロードする方法を知っています

"phpoffice/phpexcel": 

    $phpExcel = new \PHPExcel(); 
    $ews = $phpExcel->getSheet(0); 
    $ews->setTitle(Reports::LIST_AOG); 

    $objWriter = new \PHPExcel_Writer_Excel2007($phpExcel); 

    $path = 'uploads/'; 
    $rootDir = $this->get('kernel')->getRootDir() . '/../web/'; 
    $filePath = $rootDir . $path.$nameFile; 

    $objWriter->save($filePath); 
    $fileUpload = new File($filePath); 

    $insertArray = [ 
     'mimeType' => $fileUpload->getMimeType(), 
     'uploadType' => 'media', 
     'data' => file_get_contents($fileUpload) 
    ]; 

    "google/apiclient": 

    $service = new \Google_Service_Drive($client->getGoogleClient()); 
    $file = new \Google_Service_Drive_DriveFile(); 

    $file->setTitle($nameFile); 
    $file->setMimeType($fileUpload->getMimeType()); 

    try { 
     $createdFile = $service->files->insert($file, $insertArray); 
     $spreadsheetId = $createdFile->getId(); 
    } catch (\Exception $e) { 
     $e->getMessage() 
    } 

と私はalternativeUrl持っている - https://drive.google.com/file/d/xxxxxx/view?usp=drivesdkと、これはokです、私はGoogleSpreadSheet

内のファイルやボタンが開いて参照、このURLにアクセスして、この瞬間、私のXLSファイルではありませんgoogleSpreadSheet、私はgoogleSpreadSheetに私のファイルを開くだけで、このファイル私はGoogleドライブemty googleSpreadSheetにapplication/vnd.google-apps.spreadsheetでmomeTypeファイルを置き換えるが、持ってみてください

"asimlqt/php-google-spreadsheet-client": 

    $serviceRequest = new DefaultServiceRequest($arrayAccessTokenClient['access_token']); 
    ServiceRequestFactory::setInstance($serviceRequest); 

    $spreadsheetService = new SpreadsheetService(); 
    $scopeSpreadSheet = $spreadsheetService->getSpreadsheets(); 

    $spreadsheetByTitle = $scope->getByTitle($createdFile->getTitle());   
    $spreadsheetById = $spreadsheetService->getSpreadsheetById($spreadsheetId); 

googleSpreadSheetId

を取得し、私はidでのGoogleスプレッドシートを得ることができますまたはタイトル

GoogleのファイルをgoogleSpreadSheetですぐにダウンロードすることはできません。私は解決策を見つけようとしますが、2日間の検索で結果が得られませんでした。

私のxlsファイルをgoogleSpreadSheedで一瞬ダウンロードするには???ヘルプ

答えて

0

は私が見つけてください:)

convert boolean Whether to convert this file to the corresponding Google Docs format. (Default: false) 

    $insertArray = [ 
     'mimeType' => $fileUpload->getMimeType(), 
     'uploadType' => 'media', 
     'data' => file_get_contents($fileUpload), 
     'convert' => true 
    ]; 
関連する問題