使用JACOB进行Excel读写控制

原创 2004年04月13日 14:16:00

1、  下载JACOB包:http://danadler.com/jacob/

2、  安装配置

解压jacobBin_17.zip

1jacob.dll所在目录放到PATH

2jacob.jar放到CLASSPATH

3、使用jacob进行Excel控制,下面是我写的一个测试程序代码

 

import com.jacob.com.*;
import com.jacob.activeX.*;

class ExcelTest
{
  private static ActiveXComponent xl;
  private static Object workbooks = null;
  private static Object workbook = null;
  private static Object sheet = null;
  private static String filename =null;
  private static boolean readonly = false;
 
  public static void main(String[] args)
  {
     String file = "f://java//test.xls";
     OpenExcel(file,false);//false为不显示打开Excel
     SetValue("A1","Value","2");
     System.out.println(GetValue("A3"));
     CloseExcel(false);
  }
 
  //打开Excel文档
  private static void OpenExcel(String file,boolean f)
  {
    try
    {
        filename = file;
        xl = new ActiveXComponent("Excel.Application");
        xl.setProperty("Visible", new Variant(f));
        workbooks = xl.getProperty("Workbooks").toDispatch();
         workbook = Dispatch.invoke(workbooks,
                "Open",
                Dispatch.Method,
                                    new Object[]{filename,
                                    new Variant(false),
                                    new Variant(readonly)},//是否以只读方式打开
                                    new int[1] ).toDispatch();
    }catch(Exception e)
    {e.printStackTrace();}
  }
 
  //关闭Excel文档
  private static void CloseExcel(boolean f)
  {
   try
   {   
     Dispatch.call(workbook,"Save");
         Dispatch.call(workbook, "Close", new Variant(f));
      } catch (Exception e) {
         e.printStackTrace();
     } finally {
     xl.invoke("Quit", new Variant[] {});
      }
  }
 
  //写入值
  private static void SetValue(String position,String type,String value)
  {
     sheet = Dispatch.get(workbook,"ActiveSheet").toDispatch(); 
     Object cell = Dispatch.invoke(sheet, "Range",
             Dispatch.Get,
                                    new Object[] {position},
                                    new int[1]).toDispatch();
      Dispatch.put(cell, type, value);
  }

  //读取值  
  private static String GetValue(String position)
  {
    Object cell = Dispatch.invoke(sheet,"Range",Dispatch.Get,new Object[] {position},new int[1]).toDispatch();
  String value = Dispatch.get(cell,"Value").toString();
  
  return value;
  }
}

使用JACOB进行Excel读写控制

1、  下载JACOB包:http://danadler.com/jacob/2、  安装配置解压jacobBin_17.zip(1)jacob.dll所在目录放到PATH中(2)jacob.jar放...
  • nickshen3
  • nickshen3
  • 2007年08月04日 15:05
  • 1221

2-使用JACOB进行Excel读写控制

1、  下载JACOB包:http://danadler.com/jacob/2、  安装配置解压jacobBin_17.zip(1)jacob.dll所在目录放到PATH中(2)jacob.jar放...
  • deadswan000
  • deadswan000
  • 2007年07月25日 23:08
  • 1383

Jacob操作Excel

最近在做Excel报表,根据自己先定义的excel模板生成报表。 对call方法的操作其中的第一个参数是对象名,第二个字符串参数就是方法名字,有时会有方法参数。例如:     Dispatch tab...
  • pcno1
  • pcno1
  • 2009年02月23日 09:38
  • 1845

Jacob操作office文档(Word,PPT,Excel)

jacob 操作 word public boolean doc2pdf(String srcFilePath, String pdfFilePath) {           Activ...
  • ntc10095
  • ntc10095
  • 2016年06月01日 15:10
  • 969

java jacob调用打印,word,excel横向打印

java jacob调用打印,word,excel横向打印
  • daixinmei
  • daixinmei
  • 2015年06月25日 13:23
  • 1641

jacob调用Excel中的宏

项目中有个需求要用java代码执行Excel中的宏,之前一般的处理都用poi,但调用宏的时候经了解发现无法胜任。通过网上查找资料,最后用jacob得以解决。代码如下: public static ...
  • waitkafuka
  • waitkafuka
  • 2015年02月03日 15:27
  • 613

jacob 另存word ,excel 为html,xml格式

import java.util.Random; import com.jacob.activeX.ActiveXComponent; import com.jacob.com.ComTh...
  • builderwfy
  • builderwfy
  • 2017年10月30日 10:07
  • 224

运用 Jacob转换Word,Excel为HTML

       jacob ,官方的解释是Java COM Bridge,即java和com组件间的桥梁。com一般表现为dll或exe等二进制文件,像我们用到的jacob.dll文件。先下载jacob...
  • ltfgood
  • ltfgood
  • 2010年08月06日 11:03
  • 3796

使用jacob打印word或excel

使用jacob打印word或excel
  • u012345283
  • u012345283
  • 2014年11月13日 20:52
  • 3199

JAVA利用Jacob将EXCEL转成PDF

JAVA利用Jacob将EXCEL转成PDF,优化版
  • smallcol
  • smallcol
  • 2015年12月29日 18:42
  • 8001
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用JACOB进行Excel读写控制
举报原因:
原因补充:

(最多只允许输入30个字)