使用现有电子表格作为模板 PHPspreadsheet
Using an existing spreadsheet as a template PHPspreadsheet
Objective
我想使用现有的 Excel sheet 作为模板来创建发票。
- 必须包括单元格样式,例如着色
- 必须包含图片(徽标)
- 必须包含公司地址等标准数据
我读过一些关于 cfspread 的文章sheet,但我不太确定如何使用它。
问题一:
有没有办法使用模板文件?或者您知道其他选择吗?
问题B
这个库可以使用 $_POST 数据吗?
例子
$data = $_POST['example'];
$spreadsheet = new Spreadsheet();
$sheet = $spreadsheet->getActiveSheet();
$sheet->setCellValue('A1', '$data');
我不是 100% 确定,但根据 PhpSpreadsheet 的 doc,您可以使用 :
读取本地文件(您的预制模板)
$inputFileName = './sampleData/example1.xls';
/** Load $inputFileName to a Spreadsheet Object **/
$spreadsheet = \PhpOffice\PhpSpreadsheet\IOFactory::load($inputFileName);
或者如果您已经知道文件类型(.xlsx 或 .xsl):
$inputFileType = 'Xls'; // Xlsx - Xml - Ods - Slk - Gnumeric - Csv
$inputFileName = './sampleData/example1.xls';
/** Create a new Reader of the type defined in $inputFileType **/
$reader = \PhpOffice\PhpSpreadsheet\IOFactory::createReader($inputFileType);
/** Load $inputFileName to a Spreadsheet Object **/
$spreadsheet = $reader->load($inputFileName);
如果需要,您也可以将所有这些都包装在一个 try catch 中。
然后您只需按照与填充您创建的电子表格相同的方式进行更改,用您从几乎想要的地方获得的数据填充单元格 php,示例:
- 经典变量
$foo = 'bar';
$_GET
/ $_POST
/ $_REQUEST
- 来自数据库
Objective
我想使用现有的 Excel sheet 作为模板来创建发票。
- 必须包括单元格样式,例如着色
- 必须包含图片(徽标)
- 必须包含公司地址等标准数据
我读过一些关于 cfspread 的文章sheet,但我不太确定如何使用它。
问题一:
有没有办法使用模板文件?或者您知道其他选择吗?
问题B
这个库可以使用 $_POST 数据吗?
例子
$data = $_POST['example'];
$spreadsheet = new Spreadsheet();
$sheet = $spreadsheet->getActiveSheet();
$sheet->setCellValue('A1', '$data');
我不是 100% 确定,但根据 PhpSpreadsheet 的 doc,您可以使用 :
读取本地文件(您的预制模板)$inputFileName = './sampleData/example1.xls';
/** Load $inputFileName to a Spreadsheet Object **/
$spreadsheet = \PhpOffice\PhpSpreadsheet\IOFactory::load($inputFileName);
或者如果您已经知道文件类型(.xlsx 或 .xsl):
$inputFileType = 'Xls'; // Xlsx - Xml - Ods - Slk - Gnumeric - Csv
$inputFileName = './sampleData/example1.xls';
/** Create a new Reader of the type defined in $inputFileType **/
$reader = \PhpOffice\PhpSpreadsheet\IOFactory::createReader($inputFileType);
/** Load $inputFileName to a Spreadsheet Object **/
$spreadsheet = $reader->load($inputFileName);
如果需要,您也可以将所有这些都包装在一个 try catch 中。
然后您只需按照与填充您创建的电子表格相同的方式进行更改,用您从几乎想要的地方获得的数据填充单元格 php,示例:
- 经典变量
$foo = 'bar';
$_GET
/$_POST
/$_REQUEST
- 来自数据库