PHPExcel缺少文本框

时间:2016-06-17 12:22:41

标签: php phpexcel

我需要打开一个现有的xlsx文件,其中包含文本框(使用预定义选项创建的文本框,如圆形,正方形等),我需要在这些对象后面编写(它们是透明的)。

下面的代码可以很好地完成所有操作,除了下载没有框的新文件。

if(file_exists("app/file.xlsx")){

        $objTpl = PHPExcel_IOFactory::load("app/file.xlsx");
        $objTpl->setActiveSheetIndex(1);

        $objTpl->getActiveSheet()->setCellValue('A1', 'x');
        $objTpl->getActiveSheet()->setCellValue('A2', 'y');
        $objTpl->getActiveSheet()->setCellValue('A3', 'z');

        $filename = 'new_file.xlsx';
        header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
        header('Content-Disposition: attachment;filename="'.$filename.'"');
        header('Cache-Control: max-age=0');

        $objWriter = PHPExcel_IOFactory::createWriter($objTpl, 'Excel2007');
        ob_end_clean();
        $ret = $objWriter->save('php://output');

        exit;
    }

1 个答案:

答案 0 :(得分:0)

你可以通过COM dotnet php模块

来做到这一点

只需打开xlsx文件:

$excel = new COM("Excel.Application") or die ("Could not initialise Object.");
            $excel->Visible       = 1;
            $excel->DisplayAlerts = 0;
            $Workbook = $excel->Workbooks->Open($file) or die("ERROR: Unable to open " . $file . "!\r\n");
            $Worksheet = $Workbook->ActiveSheet;

从此处开始更改您的文件,然后使用saveas函数。它的全部+ - 在microsoft的开发人员文档中有详细记录: https://msdn.microsoft.com/EN-US/library/office/ff198122.aspx