设为首页 加入收藏

TOP

java辅导:为Excel的A1单元格赋值
2014-11-23 21:57:40 来源: 作者: 【 】 浏览:62
Tags:java 辅导 Excel 单元

  代码:
  packagecom.jrkui.example.excel;
  importjava.io.File;
  importorg.eclipse.swt.SWT;
  importorg.eclipse.swt.layout.FillLayout;
  importorg.eclipse.swt.ole.win32.OLE;
  importorg.eclipse.swt.ole.win32.OleAutomation;
  importorg.eclipse.swt.ole.win32.OleClientSite;
  importorg.eclipse.swt.ole.win32.OleFrame;
  importorg.eclipse.swt.ole.win32.Variant;
  importorg.eclipse.swt.program.Program;
  importorg.eclipse.swt.widgets.Display;
  importorg.eclipse.swt.widgets.Menu;
  importorg.eclipse.swt.widgets.Shell;
  publicclassExcelShell{
  publicstaticvoidmain(String[]args){
  newExcelShell().open();
  }
  publicvoidopen()
  {
  Displaydisplay=Display.getDefault();
  Shellshell=newShell();
  shell.setSize(600,400);
  shell.setText("ExcelWindow");
  shell.setLayout(newFillLayout());
  //使Excel的菜单栏显示
  shell.setMenuBar(newMenu(shell,SWT.BAR));
  createExcelPart(shell);
  shell.open();
  while(!shell.isDisposed()){
  if(!display.readAndDispatch())
  display.sleep();
  }
  display.close();
  }
  /**
  *使Excel嵌入到shell中
  *@paramshell
  */
  privatevoidcreateExcelPart(Shellshell)
  {
  //OleFrame实际上是一个Composite,用于放置OLE控件
  OleFrameoleFrame=newOleFrame(shell,SWT.NONE);
  //OleClientSite提供一个场所用于把OLE对象嵌入到容器中,在这里“Excel.Sheet”表示的OLE对象是Excel
  OleClientSiteclientSite=newOleClientSite(oleFrame,SWT.NONE,"Excel.Sheet");
  setValueForA1Cell(clientSite);
  //OleClientSite在显示OLE对象时所做的动作,这里的动作是OLEIVERB_SHOW,显示
  clientSite.doVerb(OLE.OLEIVERB_SHOW);
  }
  /**
  *Sheet的Id
  */
  privatestaticfinalintSHEET_ID=0x000001e5;
  /**
  *单元格的Id
  */
  privatestaticfinalintCELL_ID= 0x000000c5;
  /**
  *单元格值的Id
  */
  privatestaticfinalintCELL_VALUE_ID=0x00000006;
  /**
  *为第一个Sheet页的A1单元格赋值
  *@paramclientSite
  */
  privatevoidsetValueForA1Cell(OleClientSiteclientSite)
  {
  //获得Excel的workbook对象
  OleAutomationworkbook=newOleAutomation(clientSite);
  //获得workbook的第一个Sheet页
  OleAutomationsheet=workbook.getProperty(SHEET_ID,newVariant[]{newVariant(1)}).getAutomation();
  //获得Sheet页的A1单元格
  VariantcellA1Variant=sheet.getProperty(CELL_ID,newVariant[]{newVariant("A1")});
  OleAutomationcellA1=cellA1Variant.getAutomation();
  //为A1单元格赋值
  cellA1.setProperty(CELL_VALUE_ID,newVariant("HelloOLE!"));
  //获得A1单元格的值并输出到控制台上
  System.out.println(cellA1Variant.getString());
  }
  }
  显示效果:



】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Java里面去掉网页里的HTML标记的.. 下一篇计算机二级:JSP中JavaBean应用步..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: