package com.huawei.transfer; import java.io.File; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; import com.jacob.activeX.ActiveXComponent; import com.jacob.com.Dispatch; import com.jacob.com.Variant; public class TransferAction { public static final int WORD_HTML = 8; public static final int WORD_TXT = 7; public static final int EXCEL_HTML = 44; /** * 格式为.htm,而不是.html */ 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.invoke(excel, "SaveAs", Dispatch.Method, new Object[] { htmlfile, new Variant(EXCEL_HTML) }, new int[1]); //new Variant(44)一定是44 Variant f = new Variant(false); Dispatch.call(excel, "Close", f); } catch (Exception e){ e.printStackTrace(); }finally{ app.invoke("Quit", new Variant[] {}); } } public void deleteFolder(File dir) { File filelist[]=dir.listFiles(); int listlen=filelist.length; for(int i=0;i <listlen;i++) { if(filelist[i].isDirectory()) { deleteFolder(filelist[i]); filelist[i].delete(); }else{ filelist[i].delete(); } } } public static void main(String[] args) { File file1=new File("D:/report/"); File file2=new File("D:/report/html/"); if(!file1.exists()){file1.mkdir();} if(!file2.exists()){file2.mkdir();} Date d=new Date(); DateFormat df=new SimpleDateFormat("yyyy-MM-dd"); String dateString=df.format(d); System.out.println(dateString); //文件格式为"SysInCall_2010-07-14.xls",所以该可执行文件要在报表订阅后执行(否则找不到); String fromPath="D:/report/"; String fromFile="SysInCall_"+dateString+".xls"; String toPath="D:/report/html/"; String toFile="SysInCall.htm"; TransferAction ta=new TransferAction(); ta.deleteFolder(new File(toPath)); ta.excelToHtml(fromPath+fromFile, toPath+toFile); } } |
------------------------------------------------------------------------ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> |