`

save excel as pdf

 
阅读更多

1.下载jar包:

jacob-1.7.jar,见附件

将.dll文件放到system32文件夹下

 

2.实现类

import java.io.*;
import java.util.Calendar;
import java.util.Date;

import com.jacob.activeX.ActiveXComponent;
import com.jacob.com.ComThread;
import com.jacob.com.Dispatch;
import com.jacob.com.Variant;

public class ExcelToPdf {
	private String path;

	public ExcelToPdf(String path) {
		this.path = path;
	}

	public void saveExcelAsPdf(String filePath, String outFile) {
		ComThread.InitSTA();
		ActiveXComponent actcom = new ActiveXComponent("Excel.Application");
		try {
			System.out.println((new Date()).toString()
					+ "  start convert from : " + filePath + " to " + outFile);
			actcom.setProperty("Visible", new Variant(false));
			Dispatch excels = actcom.getProperty("Workbooks").toDispatch();
			Dispatch excel = Dispatch.invoke(
					excels,
					"Open",
					Dispatch.Method,
					new Object[] { filePath, new Variant(false),
							new Variant(false) }, new int[9]).toDispatch();
			Dispatch.invoke(excel, "SaveAs", Dispatch.Method, new Object[] {
					outFile, new Variant(57), new Variant(false),
					new Variant(57), new Variant(57), new Variant(false),
					new Variant(true), new Variant(57), new Variant(false),
					new Variant(true), new Variant(false) }, new int[1]);
			Dispatch.call(excel, "Close", new Variant(false));
			if (actcom != null) {
				actcom.invoke("Quit", new Variant[] {});
				actcom = null;
			}
			ComThread.Release();
			System.out.println((new Date()).toString() + "  convert ok : "
					+ filePath + " to " + outFile);
		} catch (Exception es) {
			es.printStackTrace();
		}
	}

 

3.测试类

import java.io.File;

public class Test{
	public static void main(String[] args) throws Exception {
		String path = "C:/A.xls";
		System.out.println("Convert Path : " + path);
		try {
			File file = new File(path);
			if (file.exists()) {
				ExcelToPdf et = new ExcelToPdf(path);
				et.saveExcelAsPdf(path, "C:/S.pdf");
			} else {
				System.out.println("Path Not Exist,Pls Comfirm: " + path);
			}
		} catch (Exception ex) {
			System.out
					.println("Pls Check Your Format,Format Must Be: java com/olive/util/RunTask Path(Exist Path) Frequency(Run Frequency,int)");
			ex.printStackTrace();
		}
	}

}

 

分享到:
评论

相关推荐

    office2007 save as PDF

    在提供的压缩包文件"Office2007插件-SaveAsPDF.exe"中,很可能是微软官方提供的这个功能的安装程序。用户可以通过安装这个插件来扩展Office 2007的功能,使其具备将文档保存为PDF的能力。 安装和使用步骤大致如下:...

    office 2007 加载项 (save as pdf)

    Office 2007加载项“Save as PDF”是一个非常实用的功能,专为Microsoft Office 2007设计,使得用户可以直接在Word、Excel等应用程序中将文档保存为PDF(Portable Document Format)格式。PDF文件格式广泛应用于各种...

    Microsoft Save as PDF or XPS V1.0

    标题“Microsoft Save as PDF or XPS V1.0”指的是微软发布的一款插件,该插件主要用于Microsoft Office 2007和2010版本的办公软件中,特别是Word和Excel应用程序。这款插件的主要功能是允许用户将他们的文档转换成...

    .net6 WebApi Excel转PDF并下载PDF文件

    package.SaveAs(memoryStream); return memoryStream.ToArray(); } ``` 3. **Excel转PDF** iTextSharp库提供了将其他格式的文档转换为PDF的功能。下面是如何将Excel数据转换为PDF: ```csharp using ...

    VC-Excel.rar_Excel vc_PDF转EXCEL_excel转pdf_vc to pdf_vc++ excel

    4. **Excel转PDF**:在VC++中,可以利用Excel的SaveAs方法将工作簿保存为PDF格式。这要求安装有支持PDF输出的Office版本,或者使用第三方库进行转换。 5. **vc_to_pdf库**:一些开源项目提供了从VC++直接转换到PDF...

    EXCEL 转 PDF解决方案

    ThisWorkbook.SaveAs "临时Excel文件路径.xlsm", xlOpenXMLWorkbookMacroEnabled Application.DisplayAlerts = True ' 创建Acrobat PDF文档对象 Set AcroDoc = CreateObject("AcroExch.PDDoc") ' 加载Excel...

    Save As PDF and XPS

    在安装"Save As PDF and XPS"后,用户会在Office应用程序(如Word、Excel、PowerPoint)的"文件"菜单中看到新增的"另存为PDF或XPS"选项。点击这个选项,用户可以选择保存为PDF或者XPS格式。保存过程中,软件会自动...

    利用vb6.0实现excel向pdf的转换

    在处理完数据后,我们可以调用`SaveAs`方法,但不是保存为Excel格式,而是转换为PDF格式。 转换过程可能涉及以下步骤: 1. 创建一个`Excel.Application`对象实例,这是与Excel应用程序交互的基础。 2. 使用`...

    Excel、Word转PDF时,异常com.jacob.com.ComFailException: Invoke of: SaveAs

    标题中的“Excel、Word转PDF时,异常com.jacob.com.ComFailException: Invoke of: SaveAs”是一个关于在编程环境中转换Microsoft Office文档(如Excel和Word)为PDF格式时遇到的错误。这个错误通常与使用Jacob库进行...

    Jacob Word excel 转PDF 合并PDF文件

    在Word到PDF的转换过程中,Jacob会利用Word提供的“Save As PDF or XPS”功能。这个功能通常需要在Microsoft Office中安装特定的插件,如压缩包内的"SaveAsPDFandXPS.exe"。这个插件使得Word文档可以被保存为PDF或...

    excel转pdf工具

    然后,找到并点击“Save As”(另存为)选项,接着在弹出的对话框中选择“PDF”作为保存类型。这样,Excel文件就会被转换为一个PDF文档,其名称和保存位置由用户自定义。 “Readme-说明.htm”文件是关于软件使用和...

    导出 Excel 以及转化为 PDF 导出

    3. 调用 `Workbook` 类的 `SaveAsPDF` 方法,指定目标 PDF 输出路径,完成转换。 4. 为了将流直接导出,可以使用 `OutputStream`,将转换后的 PDF 直接写入流,供后续处理或下载。 在实际开发中,你可能还需要处理...

    pdf 与EXCEL,WORD等系列办公软件转化,EXCEL合并工作表

    方法: 只要安装完后直接打开EXCEL,左上脚就有个 save as pdf 按钮 2. 有时候我们一张EXCEL里面有很多的工作表sheet1,sheet2......sheetn,如何把这边合并成一个工作表SHEET呢? 方法: 只要拷贝以下代码,在想要...

    excel转pdf免费.zip

    加载完Excel文件后,我们可以使用`SaveAsPdf`方法将其保存为PDF格式: ```csharp workbook.SaveToFile("output_path.pdf", FileFormat.PDF); ``` 这里的`output_path.pdf`是转换后的PDF文件路径。 4. 如果你...

    jacob-excel转pdf.zip

    这段代码首先启动Excel应用程序,然后打开指定的Excel文件,接着使用"SaveAs"方法保存为PDF格式,并关闭工作簿和Excel应用。注意,你需要根据实际的Excel文件路径和输出PDF文件路径替换代码中的字符串。 4. **运行...

    同一文件夹下面多个Excel批量转换成PDF

    - 对每个Excel文件,打开工作簿,调用`SaveAs`方法以PDF格式保存,然后关闭工作簿。 - 在转换过程中处理可能出现的错误。 8. **优化技巧**:为了提高效率,可以考虑使用多线程或异步处理,但这需要更深入的VBA和...

    excel转pdf

    4. 转换工作表为PDF:通过`Workbook.SaveAs`方法,指定一个新的PDF文件路径,并设置`FileFormat`参数为`XlFileFormat.xlTypePDF`,这样就能将当前工作簿保存为PDF格式。 5. 关闭Excel对象:完成转换后,记得关闭...

    excel批量转化pdf

    wb.SaveAs pdfPath & Replace(fileName, ".xlsx", ".pdf"), xlTypePDF ' 关闭Excel文件 wb.Close SaveChanges:=False ' 获取下一个文件名 fileName = Dir Loop End Sub ``` 运行这个宏后,它会自动找到...

    jacob的excel转pdf

    5. **导出为PDF**: Excel提供了一个`SaveAs`方法,通过指定不同的文件类型(如PDF),可以将当前工作簿保存为PDF格式。在这个过程中,Jacob会调用Excel的COM接口执行这个操作。 6. **关闭资源**: 转换完成后,确保...

    将excel导出为PDF

    例如,压缩包中的"SaveAsPDF.exe"可能就是一个这样的工具。安装并运行这个程序,它可以提供一个直观的界面,让你选择Excel文件并一键将其转换为PDF。这类工具通常能提供更多的自定义选项,如页面范围、质量设置等。 ...

Global site tag (gtag.js) - Google Analytics