首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么ExportAsFixedFormat中的paramIgnorePrintAreas参数不起作用?

问为什么ExportAsFixedFormat中的paramIgnorePrintAreas参数不起作用?
EN

Stack Overflow用户
提问于 2013-01-02 02:39:30
回答 1查看 1.1K关注 0票数 0

我正在尝试将excel导出到pdf。

我正在使用C#。

我对ExportAsFixedFormat有个问题。我的文档有打印区(在Excel应用程序中设置,如果手动发送打印,则可以打印)。但它在我的程序中不起作用。我将参数paramIgnorePrintAreas设置为false,它没有任何帮助。

代码语言:javascript
复制
public void createXls(){
    ApplicationClass excelApplication = new ApplicationClass();
    Workbook excelWorkBook = null;
    //Worksheet excelWorksheet = null;
    excelApplication.ScreenUpdating = false;
    excelApplication.Visible = false;

    string paramSourceBookPath = @"C:\Temp\Test.xlsx";
    object paramMissing = Type.Missing;
    string paramExportFilePath = @"C:\Temp\Test.pdf";
    XlFixedFormatType paramExportFormat = XlFixedFormatType.xlTypePDF;
    XlFixedFormatQuality paramExportQuality = XlFixedFormatQuality.xlQualityStandard;
    bool paramOpenAfterPublish = false;
    bool paramIncludeDocProps = true;
    bool paramIgnorePrintAreas = false;
    object paramFromPage = Type.Missing;
    object paramToPage = Type.Missing;
    try
    {
        // Open the source workbook.
        excelWorkBook = excelApplication.Workbooks.Open(paramSourceBookPath,
         false, paramMissing, paramMissing, paramMissing,
         paramMissing, paramMissing, paramMissing, paramMissing,
         paramMissing, paramMissing, paramMissing, paramMissing,
         paramMissing, paramMissing);

    // Save it in the target format.
        if (excelWorkBook != null)
        {
            Worksheet excelWorksheet = (Worksheet) excelWorkBook.ActiveSheet;
            excelWorksheet.ExportAsFixedFormat(paramExportFormat,
             paramExportFilePath, paramExportQuality,
             paramIncludeDocProps, paramIgnorePrintAreas, paramFromPage,
             paramToPage, paramOpenAfterPublish,
             paramMissing);
        }
    } catch (Exception ex)
    {
    //richTextBox1.Text=ex.Message.ToString();
    }
    finally
    {
        // Close the workbook object.
        if (excelWorkBook != null)
        {
            excelWorkBook.Close(false, paramMissing, paramMissing);
            excelWorkBook = null;
        }

        // Quit Excel and release the ApplicationClass object.
        if (excelApplication != null)
        {
            excelApplication.Quit();
            excelApplication = null;
        }

        GC.Collect();
        GC.WaitForPendingFinalizers();
        GC.Collect();
        GC.WaitForPendingFinalizers();
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-13 00:05:35

只需再次尝试设置打印区域,然后再导出:

代码语言:javascript
复制
excelWorksheet.PageSetup.PrintArea = "Print_Area";

我有一个类似的问题,我想,因为它是Excel的国际版本,这个命令修复了输出格式。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14113151

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档