c# - Excel ExportAsFixedFormat PDF

标签 c# excel-2007

我可以在 c# 中成功获取 excel 文件并将其导出为 PDF 文件

private static void ExportWorkbookToPDF(string workbook, string output)
{
    if (string.IsNullOrEmpty(workbook) || string.IsNullOrEmpty(output))
    {
        throw new NullReferenceException("Cannot create PDF copy " +
            "from empty workbook.");
    }

    Application excelApplication = new Application();
    excelApplication.ScreenUpdating = false;
    excelApplication.DisplayAlerts = false;
    excelApplication.Visible = false;

    Workbook excelWorkbook = excelApplication.Workbooks.Open(
        Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + 
        "\\" + workbook);

    if (excelWorkbook == null)
    {
        excelApplication.Quit();
        excelApplication = null;
        excelWorkbook = null;

        throw new NullReferenceException("Cannot create new excel workbook.");
    }

    try
    {
        excelWorkbook.ExportAsFixedFormat(XlFixedFormatType.xlTypePDF, 
            Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + 
            "\\" + output);
    }
    catch (Exception e)
    {
        Console.WriteLine(e.Message);
        Console.ReadLine();
    }
    finally
    {
        excelWorkbook.Close();
        excelApplication.Quit();
        excelApplication = null;
        excelWorkbook = null;
    }
}

为了将 excel 文件保存为页面宽度而不是页面高度,我需要访问什么参数或对象?

最佳答案

我找到了强制以横向 View 的 PDF 格式导出您的工作簿所需的属性。

try 
{ 
    ((Microsoft.Office.Interop.Excel._Worksheet)  
    excelWorkbook.ActiveSheet).PageSetup.Orientation =  
    Microsoft.Office.Interop.Excel.XlPageOrientation.xlLandscape;

    excelWorkbook.ExportAsFixedFormat(XlFixedFormatType.xlTypePDF,  
    Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + 
        "\\" + output); 
} 

关于c# - Excel ExportAsFixedFormat PDF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10272415/

相关文章:

vba - Excel 2007 宏移动重复项

c# - 子字符串替换的问题

c# - Docusign 分页信封 JSON 数据

c# - 在 for 循环中使用 INSERT 语句仅接受第一条记录

c# - .NET Core Identity as UI 取消注册

vba - 以编程方式确定命名范围是否限定于工作簿

vba - 未定义用户定义类型 - 从 Excel 控制 Word

C# Gridview 第一行数据不返回

PHPExcel - 如何使用 phpexcel 库更改图表的颜色、边框和背景?

excel - 在 Excel 2010 中添加基本功能区的 VBA 代码?