1

导出工作表时,对齐会消失。一半数据在下一行。我如何以编程方式对齐工作表并将其转换为 pdf 而不会发生对齐。

我需要适合页面的东西。

4

3 回答 3

0

我遇到了同样的问题,所以我做了什么:

  1. 对于excel文件表,我设置了以下

            xlWorkbook = xlApps.Workbooks.Add(missing);
            xlWorkSheet = (Excel.Worksheet)xlWorkbook.Worksheets.get_Item(1);
            xlApps.ActiveWindow.View = Excel.XlWindowView.xlPageLayoutView; //pagelayout view
            xlWorkSheet.PageSetup.PaperSize = Excel.XlPaperSize.xlPaperA4; //set paper to A4
            xlWorkSheet.PageSetup.Orientation = Excel.XlPageOrientation.xlPortrait; //set to portrait
    
            //margins 'Narrow'   
            xlWorkSheet.PageSetup.LeftMargin = 0.65; //55
            xlWorkSheet.PageSetup.RightMargin = 0.25;
            xlWorkSheet.PageSetup.BottomMargin = 0.75;
            xlWorkSheet.PageSetup.TopMargin = 0.75; //60
            xlWorkSheet.PageSetup.HeaderMargin = 0;
    
  2. 转换我的excel文件并缩放大小。(只需更改 120 以适合您的文档)

          //here is the scaling
            Worksheet xlmsheet = excelWorkBook.Sheets[1];
            xlmsheet.PageSetup.Zoom = 120; 
             // Save it in the target format.
            if (excelWorkBook != null)
                excelWorkBook.ExportAsFixedFormat(XlFixedFormatType.xlTypePDF, paramExportFilePath, XlFixedFormatQuality.xlQualityStandard, true,
                    true, Type.Missing, Type.Missing, false, paramMissing);
    
于 2013-07-10T09:59:29.240 回答
0

PDF 的宽度取决于您的 Excel 打印设置,默认设置为 A4 纵向,因此导出的 PDF 会将一半数据留到下一行;如果您将纸张大小设置为 A3 Landscape,然后导出为 PDF,它将显示正确的格式。

于 2013-03-05T05:29:05.023 回答
0

为什么不直接使用 FitToPagesWide 和 FitToPagesTall

    xlWorkSheet.PageSetup.Zoom = False
    xlWorkSheet.PageSetup.FitToPagesWide = 1
    xlWorkSheet.PageSetup.FitToPagesTall = 1
于 2013-07-11T02:45:52.223 回答