Jacob实现Excel转html

JACOB 是 JAVA-COM Bridge的缩写,提供自动化的访问com的功能,通过JNI功能访问windows平台下的com组件或者win32系统库的。


官方网站:http://sourceforge.net/projects/jacob-project/files/

可以根据自己的需要下载jar、src等,我自己用的是1.7的jar包和1.9的.dll文件,可去我的百度云下载:

http://pan.baidu.com/s/1AKrRC ,里面的readme文件有说明。

import java.io.File;
import java.io.IOException;
import java.util.Scanner;

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

/** 
 * @author weis 
 * @version 2014-5-7 下午03:28:09 
 * 类说明 
 */
public class JacobExcelToHtm {

	public static final int EXCEL_HTML = 44; 
	public static final int WORD_HTML = 8; 

	public JacobExcelToHtm() {
		// TODO Auto-generated constructor stub
	}

	public static void excelToHtml(String xlsfile, String htmlfile) 
	 {
			ActiveXComponent app = new ActiveXComponent("Excel.Application"); // 启动Excel
			try {
				app.setProperty("Visible", new Variant(false));
				Dispatch excels = app.getProperty("Workbooks").toDispatch();
				Dispatch excel = Dispatch.invoke(
						excels,
						"Open",
						Dispatch.Method,
						new Object[] { xlsfile, new Variant(false),new Variant(true) }, 
						new int[1]).toDispatch();
//				Dispatch sheet = Dispatch.invoke(excel, "sheet(0)", arg2, arg3, arg4)
				Dispatch.invoke(excel, "SaveAs", Dispatch.Method, new Object[] {
						htmlfile, new Variant(EXCEL_HTML) }, new int[1]);
				Variant f = new Variant(false);
				Dispatch.call(excel, "Close", f);
			} catch (Exception e) {
				e.printStackTrace();
			} finally {
				app.invoke("Quit", new Variant[] {});
			}
		}

	  	
	 public static void main(String[] argv) {  
		method1();
//		method2();
	} 
	 
	 //测试excelToHtml方法  一直有问题 可能.dll文件问题
	 public static void method1(){
		 File excelFile = new File("D:\\测试Excel.xls");
			File htmlFile = new File("d:\\测试Excel.html");
			if(!excelFile.exists()){
				try {
					File.createTempFile("测试Excel", ".xls", new File("d:\\"));
				} catch (IOException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
			if(!htmlFile.exists()){
				try {
					File.createTempFile("测试Excel", ".html", new File("d:\\"));
				} catch (IOException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
			System.out.println("---->method1");
			System.out.println(excelFile.getAbsolutePath());
			System.out.println(htmlFile.getAbsolutePath());
			excelToHtml(excelFile.getAbsolutePath(), htmlFile.getAbsolutePath());
	 }
	 
	
}


©️2020 CSDN 皮肤主题: 编程工作室 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值