Java

本类阅读TOP10

·使用MyEclipse开发Struts框架的Hello World!(录像1)
·hibernate配置笔记
·AOP编程入门--Java篇
·linux下Tomcat 5.0.20 与 Apache 2 安装/集成/配置
·在win2003下整合了整合Tomcat5.5+ apache_2.0.53+ mod_jk_2.0.47.dll
·构建Linux下IDE环境--Eclipse篇
·Jsp 连接 mySQL、Oracle 数据库备忘(Windows平台)
·ASP、JSP、PHP 三种技术比较
·Tomcat5.5.9的安装配置
·AWT GUI 设计笔记(二)

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
使用JACOB进行Excel读写控制

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

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;
  }
}




相关文章

相关软件