8

Excelファイルを取得して、C#で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 ファイルをページの高さではなくページの幅として保存するには、どのパラメーターまたはオブジェクトにアクセスする必要がありますか?

4

3 に答える 3

17

ワークブックを強制的に横向きビューの 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); 
} 
于 2012-04-22T23:06:22.660 に答える
4
  1. 2007 Microsoft Office Suite Service Pack 3 (SP3) http://www.microsoft.com/en-in/download/details.aspx?id=27838をインストールします。

  2. 2007 Microsoft Office アドインをインストールします: Microsoft Save as PDF or XPS http://www.microsoft.com/en-in/download/details.aspx?id=7

必須 : Microsoft XPS Document Writerをサーバーの既定のプリンターとして設定します。ExportAsFixedFormat関数はMicrosoft XPS Document Writerを実行して Excel を PDF に変換するためです。

これは私のために働いています。

于 2014-07-07T07:29:27.567 に答える
1

これを試してください:

object misValue = System.Reflection.Missing.Value;
string paramExportFilePath = @"C:\Test2.pdf";
Excel.XlFixedFormatType paramExportFormat = Excel.XlFixedFormatType.xlTypePDF;
Excel.XlFixedFormatQuality paramExportQuality = Excel.XlFixedFormatQuality.xlQualityStandard;
bool paramOpenAfterPublish = false;
bool paramIncludeDocProps = true;
bool paramIgnorePrintAreas = true;
if (xlWorkBook != null)//save as pdf
    xlWorkBook.ExportAsFixedFormat(paramExportFormat, paramExportFilePath, paramExportQuality,     paramIncludeDocProps, paramIgnorePrintAreas, 1, 1, paramOpenAfterPublish, misValue);

パラメータparamIgnorePrintAreas=trueはページのサイズを変更します。

于 2013-12-17T12:32:06.373 に答える