KaisonChen 2016-06-16 06:08 采纳率: 33.3%
浏览 3729
已采纳

jacob Excel转PDF问题,列显示不全

利用jacob将Excel转换为PDF时,Excel中的列在PDF中显示不全如下图,加班费合计右面应该还有列,但是没有显示。另外,各列的数据数据显示不全,如身份证号图片说明

下面是我的代码

    public boolean excelTopdf(String inputFile, String pdfFile){

         ComThread.InitSTA();
         ActiveXComponent app = new ActiveXComponent("Excel.Application");
         app.setProperty("Visible", new Variant(false));
         Object excels = app.getProperty("Workbooks").toDispatch();
         Object excel = Dispatch.invoke(
                 (Dispatch) excels,
                 "Open",
                 Dispatch.Method,
                 new Object[] { inputFile, new Variant(false),
                         new Variant(true) }, new int[9]).toDispatch();

         Dispatch currentSheet = Dispatch.get((Dispatch) excel,
                 "ActiveSheet").toDispatch();
         Dispatch pageSetup = Dispatch.get(currentSheet, "PageSetup")
                 .toDispatch();
         Dispatch.put(pageSetup, "Orientation", new Variant(2));

         Dispatch.call(currentSheet, "SaveAs", pdfFile,
                     new Variant(57));
             if (app != null) {
                 app.invoke("Quit", new Variant[] {});
                 app = null;
             }
             ComThread.Release();

        return true;

    }
  • 写回答

2条回答

  • _1_1_7_ 2016-06-16 07:49
    关注

    加上如下代码:
    Dispatch.put(pageSetup, "Zoom", false); // 值为100或false
    Dispatch.put(pageSetup, "FitToPagesWide", 1); // 所有列为一页(1或false)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 matlab实现基于主成分变换的图像融合。
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制
  • ¥20 usb设备兼容性问题
  • ¥15 错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决啊