0
我想在導出的文件中添加標題。我使用kartik Export in Yii2
。我希望結果是這樣的:如何在Yii2中使用導出kartik下載的文檔中添加標題?
這是我的觀點: https://pastebin.com/HDeuQnfj
任何人都可以請幫我找到解決辦法?它會幫助我很多。在此先感謝
我想在導出的文件中添加標題。我使用kartik Export in Yii2
。我希望結果是這樣的:如何在Yii2中使用導出kartik下載的文檔中添加標題?
這是我的觀點: https://pastebin.com/HDeuQnfj
任何人都可以請幫我找到解決辦法?它會幫助我很多。在此先感謝
這不是很容易。如果你只是想在PDF的頭球嘗試你的文字:
echo ExportMenu::widget([
'dataProvider' => $dataProvider,
'columns' => $gridColumns,
'filename' => 'Exported File',
'fontAwesome' => true,
'exportConfig' => [
ExportMenu::FORMAT_PDF => [
'pdfConfig' => [
'methods' => [
'SetHeader' => ['Your Title Here'],
],
],
],
],
]);
但是,如果你想要在PDF的身體我想你必須擴展kartik\export\ExportMenu
和覆蓋renderPDF()
,如:
class MyExportMenu extends \kartik\export\ExportMenu
{
protected function renderPDF($file)
{
// Default PDF paper size
$excel = $this->_objPHPExcel;
$sheet = $this->_objPHPExcelSheet;
/**
* @var \PHPExcel_Writer_HTML $w
*/
$w = $this->_objPHPExcelWriter;
$page = $sheet->getPageSetup();
$orientation = $page->getOrientation() == PHPExcel_Worksheet_PageSetup::ORIENTATION_LANDSCAPE ? 'L' : 'P';
$properties = $excel->getProperties();
$settings = ArrayHelper::getValue($this->exportConfig, $this->_exportType, []);
$useInlineCss = ArrayHelper::getValue($settings, 'useInlineCss', false);
$config = ArrayHelper::getValue($settings, 'pdfConfig', []);
$w->setUseInlineCss($useInlineCss);
$config = array_replace_recursive(
[
'orientation' => strtoupper($orientation),
'methods' => [
'SetTitle' => $properties->getTitle(),
'SetAuthor' => $properties->getCreator(),
'SetCreator' => $properties->getCreator(),
'SetSubject' => $properties->getSubject(),
'SetKeywords' => $properties->getKeywords(),
],
'cssFile' => '',
'content' => '<h1>Your Title Here</h1>' // <- title here
. $w->generateHTMLHeader(false)
. $w->generateSheetData()
. $w->generateHTMLFooter(),
],
$config
);
if (!$this->stream) {
$config['destination'] = Pdf::DEST_FILE;
$config['filename'] = $file;
} else {
$config['destination'] = Pdf::DEST_DOWNLOAD;
$extension = ArrayHelper::getValue($settings, 'extension', 'pdf');
$config['filename'] = $this->filename . '.' . $extension;
}
$pdf = new Pdf($config);
echo $pdf->render();
}
}
然後,你得改爲使用你的班級。我不是100%確定它的工作原理,沒有經過測試。
謝謝你的回答。順便說一句,請你看看我的問題在https://stackoverflow.com/questions/45319792/yii2-export-kartik-v?我想在一個文檔中導出所有表格 – r34627673
我試過了上面的代碼,但沒有工作 – r34627673