我想更改列标题的名称。 你好吗?
这是控制器中的代码:
EVALUATE(
CALCULATETABLE(
ADDCOLUMNS(
SUMMARIZE(
'BreakTable',
'BreakTable'[Column1],
'BreakTable'[Column2],
'BreakTable'[DateColumn1], --This needs to be formatted
),
"BreakCount",FORMAT('BreakTable'[BreakCount],"#,##0")
)
))
输出电流:
答案 0 :(得分:1)
默认情况下,LaravelExcelWorksheet
实例的fromArray()
方法将根据给定的数组键自动为您生成标题。要禁用此自动生成,您需要将false
传递给第五个参数($headingGeneration
)。这里有fromArray()
方法签名供您参考:
public function fromArray($source = null, $nullValue = null, $startCell = 'A1', $strictNullComparison = false, $headingGeneration = true)
您可以使用row()
方法添加自定义标题。使用您的代码示例,现在代码应如下所示:
$users = Mstbeasiswa::select('NO_ANGGOTA', 'NM_ANGGOTA', 'GOLONGAN', 'NPK', 'CABANG', 'NM_ANAK', 'NM_SKL', 'id')
->where('flag_terima', '1')
->where('NM_PERUSAHAAN', $nm_perusahaan)
->orderBy('id', 'asc')
->get()
->toArray();
Excel::create($nm_perusahaan, function ($excel) use ($users) {
$excel->sheet('sheet 1', function ($sheet) use ($users) {
// Set your custom header.
$sheet->row(1, ['COL1', 'COL2', 'COL3', 'COL4', 'COL5', 'COL6', 'COL7', 'COL8']);
// Set the data starting from cell A2 without heading auto-generation.
$sheet->fromArray($users, null, 'A2', false, false);
});
})->download('xlsx');
或者您实际上可以保持调用fromArray()
方法,但稍后会使用row()
方法替换自动生成的标头,如下所示:
$excel->sheet('sheet 1', function ($sheet) use ($users) {
$sheet->fromArray($users);
// Replace the header, but this should come after fromArray().
$sheet->row(1, ['COL1', 'COL2', 'COL3', 'COL4', 'COL5', 'COL6', 'COL7', 'COL8']);
});
希望这有帮助!