我正在处理需要导出数据的应用程序。我将这些数据导出到JSON,DB,然后在Excel中创建一个证书。Excel无法找到任何要打印的内容
导出到excel和excel文件创建完美,但我无法打印excel。我尝试从我的应用程序(VB.NET)和VBA(检查是否与我的应用程序有问题),但都失败。如果我用excel打开文件,我无法打印它,并且虽然PrintRange已设置,但无法看到预览。
我总是
“的Excel找不到某物打印”
我试着打印工作簿,纸张和一个范围,但始终不变的。我也尝试设置worksheet.PageSetup.PrintArea
和相同。尝试ExportAsFixedFormat
不起作用。我还尝试将所有已安装的打印机设置为默认设置并且不进行任何操作,但每台打印机都会失败
只有使用此文件才会发生这种情况,其他任何文件都可以正常打印。
如果我打开文件 - 打印 - 也可以看到“Nothing to print”,而不是预览,尽管设置了打印范围。
现在,如果我点击一个单元格,写出某事物。并删除它或进行任何交互,然后我能够看到预览并打印文件。
如果我现在保存工作文件并尝试在一个简单的应用程序打开文件并打印它,坏消息出现。如果我在Excel中重新打开该文件,则不会再看到预览,必须与文件进行交互才能打印。
我尝试了所有我能做的,也疯狂搜索,但任何工作。
我希望有人有同样的问题,可以帮助我,或只是知道我在做什么错误或什么是我的Excel文件错误,因为这是我生命中的第一次(和工作很多与Excel )我已经看到这个消息。
出口代码是有点长,所以我还没有张贴在这里,但它是某事像这样:
Public Shared Function ExportCalibrationAsync(pressureCalibration As PressureCalibration, filePath As String, fileName As String, excelTemplate As Byte()) As Task 'TODO:Refactor...Not use 2.dots
Return Task.Run(Sub()
CheckFileName(fileName)
Dim fullPath = Path.Combine(filePath, fileName)
Dim tempFileName = Path.GetTempFileName()
Dim tempFullPath = Path.Combine(filePath, tempFileName)
Dim excel = New Excel.Application()
Dim row = 1
'Write the passed excel template to a tempFile
My.Computer.FileSystem.WriteAllBytes(tempFullPath, excelTemplate, False)
Dim excelWorkbooks = excel.Workbooks
'Add template workbook to actual workbook
Dim excelWorkbook As Excel.Workbook = excelWorkbooks.Open(tempFullPath)
'////////////
'////Code to Export data to excel
'////////////
'//ExportAsFixedFormat or Print doesn't work and
'//MsgBox pops up with "Excel could not find anything to print"
excelWorkSheet.PageSetup.PrintArea="$A$1:$G$40"
excelWorkSheet.ExportAsFixedFormat(XlFixedFormatType.xlTypePDF,filePath,XlFixedFormatQuality.xlQualityStandard)
excelWorkbook.SaveAs(fullPath)
excelWorkbook.Close()
excel.Application.Quit()
excel.Quit()
File.Delete(tempFullPath)
GC.Collect()
GC.WaitForPendingFinalizers()
GC.Collect()
GC.WaitForPendingFinalizers()
Marshal.ReleaseComObject(calibrationChartObject)
我在这片表,但我不认为图表是问题所在,因为我可以使用相同的代码使用图表打印其他文件。