目标
我想使用现有的Excel工作表作为模板来创建发票。
我读过有关cfspreadsheet的内容,但我不完全确定如何使用它。
问题A:
有没有办法使用模板文件?或者你知道其他选择吗?
问题B
是否可以在此库中使用$ _POST数据?
示例
$data = $_POST['example'];
$spreadsheet = new Spreadsheet();
$sheet = $spreadsheet->getActiveSheet();
$sheet->setCellValue('A1', '$data');
答案 0 :(得分:2)
我不是百分百肯定,但根据PhpSpreadsheet的doc,您可以阅读本地文件(预制模板):
decimal? chargesSoFar = null;
// other codes here
chargesSoFar = (decimal?)command.ExecuteScalar();
或者,如果您已经知道文件类型(.xlsx或.xsl):
$inputFileName = './sampleData/example1.xls';
/** Load $inputFileName to a Spreadsheet Object **/
$spreadsheet = \PhpOffice\PhpSpreadsheet\IOFactory::load($inputFileName);
如果需要,您也可以将所有这些包装在try catch中。
然后你只需要像填充你创建的电子表格一样进行更改,使用php从几乎所有的地方填充数据,例如:
$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);
$foo = 'bar';
/ $_GET
/ $_POST