使用PHP从Google表格中获取单元格格式信息 [英] Get cell format information from Google Sheets using PHP

查看:135
本文介绍了使用PHP从Google表格中获取单元格格式信息的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用google-api-php-clientgoogle-api-php-client-services库从Google表格中读取值:

   $service = new \Google_Service_Sheets($this->calendarService->getClient());
        $spreadsheetId = 'abhslJcKXjIqS8bAJ1lojekXuOk0WOSrdtVtJ2C512jQ';

        $range = 'Sheet Name';

        $response = $service->spreadsheets_values->get($spreadsheetId, $range);

        $values = $response->getValues(); // returns all cells as array

如何获取有关每个单元格格式的信息? (例如,数字,日期,电子邮件等).

解决方案

您可以获取单元格格式,还可以获取textFormat(粗体,删除线等).此外,您可以搜索该对象,其中还有与每个单元格相关的更多规范.

Google api的单元文档

要获取此信息,您应该使用Google_Service_Sheets->电子表格方法,包括如下所示的gridData:

$sheets = new \Google_Service_Sheets($client); //callling sheet api with authorized client 
$spreadsheet = $sheets->spreadsheets->get($spreadsheetId,['includeGridData' => true]);

我认为电子表格有1张纸可以显示正确的格式设置:

$sheet = $spreadsheet->getSheets();
$format = $sheet[0]['data'][0]['rowData']['values'][0]['effectiveFormat']['numberFormat]; //this is one of example from that object

希望有帮助

I'm reading values from Google Sheets using google-api-php-client and google-api-php-client-services libraries this way:

   $service = new \Google_Service_Sheets($this->calendarService->getClient());
        $spreadsheetId = 'abhslJcKXjIqS8bAJ1lojekXuOk0WOSrdtVtJ2C512jQ';

        $range = 'Sheet Name';

        $response = $service->spreadsheets_values->get($spreadsheetId, $range);

        $values = $response->getValues(); // returns all cells as array

How can I get information on format of each cell? (eg. number, date, email etc.).

解决方案

You can get cell formatting also get textFormat (bold,strikethrough etc) Beside, you can search the object there are more specs related to each cell.

Cell Documentation of google api

To be able to get this you should use Google_Service_Sheets -> spreadsheets method by including gridData like below :

$sheets = new \Google_Service_Sheets($client); //callling sheet api with authorized client 
$spreadsheet = $sheets->spreadsheets->get($spreadsheetId,['includeGridData' => true]);

And i assume spreadsheet has 1 sheet to show you correct place of formatting :

$sheet = $spreadsheet->getSheets();
$format = $sheet[0]['data'][0]['rowData']['values'][0]['effectiveFormat']['numberFormat]; //this is one of example from that object

Hope it helps

这篇关于使用PHP从Google表格中获取单元格格式信息的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆