Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ExportAsFixedFileFormat突然没有从Excel文档导出图像和格式有什么想法吗?_Excel_Vb.net - Fatal编程技术网

ExportAsFixedFileFormat突然没有从Excel文档导出图像和格式有什么想法吗?

ExportAsFixedFileFormat突然没有从Excel文档导出图像和格式有什么想法吗?,excel,vb.net,Excel,Vb.net,Microsoft.Office.Interop.Excel中的ExportAsFixedFormat方法不再将任何图形或格式导出到PDF文件。代码没有改变 最近在2019年7月9日,使用Visual Studio 2017中的互操作库(版本15),该方法在我的开发调试环境中工作 它还于7月16日使用Office 2013安装在生产环境中工作,并于4月开始投入生产 我正在Excel中创建一个包含图表、logo.jpg图像的报告,我正在格式化列宽、行高,并在一些单元格周围添加加厚的边框。这些内容首

Microsoft.Office.Interop.Excel中的ExportAsFixedFormat方法不再将任何图形或格式导出到PDF文件。代码没有改变

最近在2019年7月9日,使用Visual Studio 2017中的互操作库(版本15),该方法在我的开发调试环境中工作

它还于7月16日使用Office 2013安装在生产环境中工作,并于4月开始投入生产

我正在Excel中创建一个包含图表、logo.jpg图像的报告,我正在格式化列宽、行高,并在一些单元格周围添加加厚的边框。这些内容首先保存在Excel文档中,然后使用上述方法导出为PDF

7月23日,当我被要求为一个新客户手动生成报告时,我确定上述图表、图像和格式都被排除在PDF的输出之外,尽管数据和字体更改已被导出。不过它很难看

到目前为止

我确认它不再在任何环境(开发或生产)中工作,因此无论发生什么变化,都不仅改变了office 2013的安装,还改变了Visual Studio中的互操作库。(可能是MS更新?)

我尝试将库降级到版本14(而不是15),然后尝试将其升级到15.4795.1000,但这两个版本都不起作用

在Excel 2013中手动使用SaveAs也有相同的结果,但实际上不是一个有效的测试,因为我从一开始就没有手动尝试过

我搜索了有关Microsoft更新的文档,他们确实更新了Excel 2013以修复两个远程代码执行漏洞,但我不确定从哪里查找,这会告诉我ExportAsFixedFileFormat方法已更改,现在需要“X”。尽管我重新阅读了关于这个方法的文档,看看是否遗漏了什么

我没有使用XLFixedFormatQuality,但添加它只是为了以防万一,这对问题没有影响

代码非常简单,正如前面提到的,它工作得很好,它仍然导出并创建一个PDF文件,该文件只是文本数据,只是通过导出实现的字体格式

xlWorkBook.ExportAsFixedFormat(Excel.XlFixedFormatType.xlTypePDF, ParamValues(3), Excel.XlFixedFormatQuality.xlQualityStandard)
文件名存储在ParamValues(3)中


没有错误,没有生成异常,除了最终产品中的格式、图表和图像丢失,应用程序的行为与往常一样。

经过进一步的推测和测试,我们确定它与打印机驱动程序相关。我安装了一台通用文本/纯文本打印机来测试我一直在使用的东西,Win10被设置为“管理”我的默认打印机,方法是将我的默认设置为我最近使用的任何打印机


在生产机器中使用RDP会将此默认打印机带到设置中,导出方法是使用该打印机驱动程序生成PDF。经过进一步推测和测试,我们确定它与打印机驱动程序相关。我安装了一台通用文本/纯文本打印机来测试我一直在使用的东西,Win10被设置为“管理”我的默认打印机,方法是将我的默认设置为我最近使用的任何打印机

在生产机器中使用RDP会将这个默认打印机带到设置中,导出方法是使用该打印机驱动程序生成PDF