- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有一个只有一个电子表格的 xlsx。我使用 PHPExcel 通过以下代码将其转换为 pdf:
error_reporting(E_ALL);
date_default_timezone_set('Europe/London');
require_once 'phpExcel/PHPExcel/IOFactory.php';
require_once 'phpExcel/PHPExcel.php';
$inputFileName = 'doc/ModUnico';
$excel2 = PHPExcel_IOFactory::createReader('Excel2007');
$excel2 = $excel2->load($inputFileName.'.xlsx');
$excel2->setActiveSheetIndex(0);
$excel2->getActiveSheet()->setCellValue('H5', '4');
$objWriter = PHPExcel_IOFactory::createWriter($excel2, 'Excel2007');
$objWriter->save($inputFileName.'_.xlsx');
$objPHPexcel = PHPExcel_IOFactory::load($inputFileName.'_.xlsx');
header('Content-Type: application/pdf');
header('Content-Disposition: attachment;filename="test.pdf"');
header('Cache-Control: max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPexcel, 'PDF');
$objWriter->writeAllSheets();
$objWriter->setPreCalculateFormulas(false);
$objWriter->save('php://output');
问题是,当我尝试打开返回的文件时,我收到错误消息“无法读取文件”。
EIDT:添加渲染器
$rendererName = PHPExcel_Settings::PDF_RENDERER_MPDF;
$rendererLibrary = 'mpdf.php';
$rendererLibraryPath = dirname(__FILE__).'/MPDF57/' . $rendererLibrary;
if (!PHPExcel_Settings::setPdfRenderer(
$rendererName,
$rendererLibraryPath
)) {
die(
'NOTICE: Please set the $rendererName and $rendererLibraryPath values' .
'<br />' .
'at the top of this script as appropriate for your directory structure'
);
}
最佳答案
我认为马克说到点子上了。当我遇到这样的错误时,我会从上到下开始工作。即中间 xlsx 文件是否正确?
我可能还会使用非常简单的 xls 文件或使用 PHPExcel 库的 csv 文件编写一些测试代码,您应该在尝试使它们正常工作时找出问题所在。与 pdf 渲染器相同,我会尝试不同的渲染器(如果可用的话)。
乔伊
关于PHPExcel:将 Excel 转换为 PDF(.xlsx 到 .pdf)时出现 "Impossible to read file"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22797737/
更新:请注意,我不是在问什么是盐、什么是彩虹表、什么是字典攻击或盐的目的是什么。我想问:如果你知道用户的salt和hash,是不是很容易算出他们的密码? 我理解这个过程,并在我的一些项目中自己实现它。
我的 Android 应用程序中有一些固有的异步代码。我正在使用 RxJava2。 Thing 类不在我的控制之下(但 ThingFactory 可以)。在一种方法 (createThing()) 中
一个相当聪明的人告诉我,你不能在 C 中实现垃圾收集,因为它是弱类型的。基本思想似乎是 C 给了你太多的自由。他提到在没有类型检查的情况下转换指针... 我不太理解这个想法。有人可以给我一个解释,并可
Type-Driven Development with Idris礼物: twoPlusTwoNotFive : 2 + 2 = 5 -> Void twoPlusTwoNotFive Refl i
数学类型如何以可搜索的格式表示,如文本? 我的意思是有一个工具栏,您可以输入数学符号并将它们作为文本进行搜索,因此该格式可以将数学符号表示为文本。 因为数学类型只能用图标表示,所以这样的任务是不可能实
#include int main(void){ asm volatile("ldi r16, %0\n\t" "out %1, r16\n\t"
我想做一个平均值:问题是我正在计算每个元素的 AVG 的 1 个项目(工作)但是一旦我想要类别平均值的 GLOBAL 平均值(something and foo) 它不起作用(mysql 向我抛出一个
我的程序似乎遇到了一个非常难以重现的错误:难得一见,当用户将他的 Mac 置于休眠状态,然后再次将其唤醒时,我程序的一个子进程将崩溃Mac 唤醒后立即。 发生这种情况时,Apple 的崩溃报告机制会可
如果您已经编程了一段时间,那么您可能会注意到时不时会发生一些完全不可能发生的事情,您确信对此没有可能的解释(“这是一个编译器错误!!”)。在你找出它是由什么引起的之后,虽然你就像“哦哦”。 嗯,这只是
我正在使用 DownloadManager 从网络服务下载文件。下载成功结束,但是当我尝试打开“下载”文件夹中的新文件时,出现“无法打开文件”错误(我知道我可以打开这种类型的文件)。 此外,当我将手机
偶尔我会遇到这样的情况,我写了一些代码,但根据它的逻辑,某条路径是不可能的。例如: activeGames = [10, 20, 30] limit = 4 def getBestActiveGame
因此,我一直致力于将 Chip-8 仿真器作为我的 CompSci 类(class)的期末项目,并且遇到了一个似乎超出我的代码范围的问题。我下载的大量演示(我确信它们是真正的 Chip-8 程序,而不
因此,我一直致力于将 Chip-8 仿真器作为我的 CompSci 类(class)的期末项目,并且遇到了一个似乎超出我的代码范围的问题。我下载的大量演示(我确信它们是真正的 Chip-8 程序,而不
我的应用程序的一部分通过互联网在两个设备之间传输序列化对象数据,并在另一端反序列化(通过使用 Kryo 库)。 Proguard 混淆了这些类的名称,但我现在意识到我应该不混淆序列化类,以便应用程序的
我正在尝试做一些可能不可能用运算符重载来做的事情。我对重载赋值运算符特别感兴趣,它会接收另一种数据类型 值作为其右手值。它应该看起来像这样: MyClass myclass = "hello worl
我试图在 Java 上实现 Miller-Rabin 素数测试,并将其计算时间与 BigInteger 类的 native 素数测试进行比较。鉴于我在这里,您可能已经猜到我的代码不起作用。问题是,我得
我从 Linux 下的汇编程序开始。我已将以下代码保存为 testasm.c 并编译它:gcc testasm.c -ostasm 编译器回复:“'asm' 中不可能的约束”。 #include i
我在做一个VUE项目。。Reaction也是如此。。DevServer{代理:...在webpack设置中...当应用}时,代理设置适用于在npmi安装的库。。但,。Const脚本=createEle
如何在 AS3 中保留内容(图形、添加的显示对象等)的同时复制显示对象( Sprite 、影片剪辑等)? Kirupa (http://www.kirupa.com/forum/showpost.ph
我制作了一些应用程序来构建一个巨大的 FlowDocument。构建 FlowDocument 所用的时间约为 3~4 秒。 所以我喜欢在 BackgroundWorker 中构建 FlowDocum
我是一名优秀的程序员,十分优秀!