This commit is contained in:
hgc 2024-12-23 14:27:42 +08:00
parent 8777fe0456
commit 23208e3eac

View File

@ -117,10 +117,19 @@ class GoogleAdsReportService
// 获取所有广告数据
$ads = $query->select();
// 创建一个新的 Spreadsheet 对象
$spreadsheet = new Spreadsheet();
$sheet = $spreadsheet->getActiveSheet();
$ad_status = [
0 => 'UNSPECIFIED',
1 => 'UNKNOWN', // UNKNOW
2 => 'ENABLED', // ENABLED
3 => 'PAUSED', // PAUSED
4 => 'REMOVED', // REMOVED
];
// 设置表头
$sheet->setCellValue('A1', 'Ad ID');
$sheet->setCellValue('B1', 'Ad Status');
@ -146,12 +155,12 @@ class GoogleAdsReportService
$row = 2; // 从第二行开始
foreach ($ads as $ad) {
$sheet->setCellValueExplicit('A' . $row, (string)$ad->ad_id, \PhpOffice\PhpSpreadsheet\Cell\DataType::TYPE_STRING); // 设置 ad_id 为文本
$sheet->setCellValue('B' . $row, $ad->ad_status);
$sheet->setCellValueExplicit('C' . $row, $ad->ad_name); // 直接设置 ad_name
$sheet->setCellValueExplicit('D' . $row, $ad->campaign_name); // 直接设置 ad_name
$sheet->setCellValueExplicit('E' . $row, $ad->ad_group_name); // 直接设置 ad_name
$sheet->setCellValueExplicit('F' . $row, $ad->delivery); // 直接设置 ad_name
$sheet->setCellValue('G' . $row, $ad->conversions);
$sheet->setCellValue('B' . $row, $ad_status[$ad->ad_status]);
$sheet->setCellValue('C' . $row, $ad->ad_name); // 直接设置 ad_name
$sheet->setCellValue('D' . $row, $ad->campaign_name); // 直接设置 ad_name
$sheet->setCellValue('E' . $row, $ad->ad_group_name); // 直接设置 ad_name
$sheet->setCellValue('F' . $row, $ad->delivery); // 直接设置 ad_name
$sheet->setCellValue('G' . $row, $ad->results);
$sheet->setCellValue('H' . $row, $ad->reach);
$sheet->setCellValue('I' . $row, $ad->revenue);
$sheet->setCellValue('J' . $row, $ad->roas);
@ -284,6 +293,14 @@ class GoogleAdsReportService
$spreadsheet = new Spreadsheet();
$sheet = $spreadsheet->getActiveSheet();
$campaignsStatus = [
0 => 'UNSPECIFIED', // UNSPECIFIED
1 => 'UNKNOWN', // UNKNOWN
2 => 'ENABLED', // ENABLED
3 => 'PAUSED', // PAUSED
4 => 'REMOVED', // REMOVED
];
// 设置表头
$sheet->setCellValue('A1', 'Campaign ID');
$sheet->setCellValue('B1', 'Status');
@ -302,10 +319,10 @@ class GoogleAdsReportService
foreach ($campaigns as $campaign) {
//使用 setCellValueExplicit 显式设置为文本格式
$sheet->setCellValueExplicit('A' . $row, (string)$campaign->campaign_id, \PhpOffice\PhpSpreadsheet\Cell\DataType::TYPE_STRING); // 设置为文本格式
$sheet->setCellValue('B' . $row, $campaign->campaign_status);
$sheet->setCellValueExplicit('C' . $row, $campaign->campaign_name);
$sheet->setCellValueExplicit('D' . $row, $campaign->delivery); // 直接设置 ad_name
$sheet->setCellValue('E' . $row, $campaign->conversions);
$sheet->setCellValue('B' . $row, $campaignsStatus[$campaign->campaign_status]);
$sheet->setCellValue('C' . $row, $campaign->campaign_name);
$sheet->setCellValue('D' . $row, $campaign->delivery); // 直接设置 ad_name
$sheet->setCellValue('E' . $row, $campaign->results);
$sheet->setCellValue('F' . $row, $campaign->reach);
$sheet->setCellValue('G' . $row, $campaign->revenue);
$sheet->setCellValue('H' . $row, $campaign->roas);
@ -464,6 +481,14 @@ class GoogleAdsReportService
$sheet->setCellValue('K1', 'Profit');
$sheet->setCellValue('L1', 'Spend');
$ad_groups_status = [
0 => 'UNSPECIFIED', // UNSPECIFIED
1 => 'UNKNOWN', // UNKNOWN
2 => 'ENABLED', // ENABLED
3 => 'PAUSED', // PAUSED
4 => 'REMOVED', // REMOVED
];
// 填充数据
$row = 2;
@ -471,11 +496,11 @@ class GoogleAdsReportService
// 使用 setCellValueExplicit 显式设置为文本格式
$sheet->setCellValueExplicit('A' . $row, (string)$adGroup->ad_group_id, \PhpOffice\PhpSpreadsheet\Cell\DataType::TYPE_STRING); // 设置为文本格式
// $sheet->setCellValueExplicit('B' . $row, (string)$adGroup->campaign_id, \PhpOffice\PhpSpreadsheet\Cell\DataType::TYPE_STRING);
$sheet->setCellValue('B' . $row, $adGroup->ag_group_status);
$sheet->setCellValueExplicit('C' . $row, $adGroup->ad_group_name);
$sheet->setCellValueExplicit('D' . $row, $adGroup->campaign_name);
$sheet->setCellValueExplicit('E' . $row, $adGroup->delivery); // 直接设置 ad_name
$sheet->setCellValue('F' . $row, $adGroup->conversions);
$sheet->setCellValue('B' . $row, $ad_groups_status[$adGroup->ad_group_status]);
$sheet->setCellValue('C' . $row, $adGroup->ad_group_name);
$sheet->setCellValue('D' . $row, $adGroup->campaign_name);
$sheet->setCellValue('E' . $row, $adGroup->delivery); // 直接设置 ad_name
$sheet->setCellValue('F' . $row, $adGroup->results);
$sheet->setCellValue('G' . $row, $adGroup->reach);
$sheet->setCellValue('H' . $row, $adGroup->revenue);
$sheet->setCellValue('I' . $row, $adGroup->roas);