快速业务通道

在SWT中使用OLE操作Excel(五):设置单元格的字体格式 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-16

在SWT中使用OLE操作Excel(五):设置单元格的字体格式

时间:2011-07-06

设置字体格式是常见的需求

package com.jrkui.example.excel;

import org.eclipse.swt.SWT; import org.eclipse.swt.layout.FillLayout; import org.eclipse.swt.ole.win32.OLE; import org.eclipse.swt.ole.win32.OleAutomation; import org.eclipse.swt.ole.win32.OleClientSite; import org.eclipse.swt.ole.win32.OleFrame; import org.eclipse.swt.ole.win32.Variant; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; public class FontStyleShell {   public static void main(String[] args) {    new FontStyleShell().open();   }   public void open()   {    Display display = Display.getDefault();    Shell shell = new Shell();    shell.setText("Font Style");    shell.setSize(400, 300);    shell.setLayout(new FillLayout());    createExcelPart(shell);    shell.open();    while(!shell.isDisposed())      if(!display.readAndDispatch())        display.sleep();    display.dispose();   }   private static final int SHEET_ID = 0x000001e5;   private static final int CELL_ID = 0x000000c5;   private static final int CELL_VALUE_ID = 0x00000006;   private void createExcelPart(Shell shell)   {    OleFrame frame = new OleFrame(shell,SWT.NONE);    OleClientSite clientSite = new OleClientSite(frame,SWT.NONE,"Excel.Sheet");    clientSite.doVerb(OLE.OLEIVERB_SHOW);    OleAutomation workbook = new OleAutomation(clientSite);    OleAutomation worksheet = workbook.getProperty(SHEET_ID,new Variant[]{new Variant(1)}).getAutomation();    OleAutomation cellA3 = worksheet.getProperty(CELL_ID,new Variant[]{new Variant("A3")}).getAutomation();    cellA3.setProperty(CELL_VALUE_ID, new Variant("Hello OLE!"));    setFontStyle(cellA3);   }   private static final int FONT_SIZE      = 0x00000068;   private static final int FONT_NAME      = 0x0000006e;   private static final int COLOR_INDEX     = 0x00000061;   private static final int FONT        = 0x00000092;   private static final int BOLD        = 0x00000060;   private static final int RED         = 3;   private void setFontStyle(OleAutomation cell)   {    OleAutomation font = cell.getProperty(FONT).getAutomation();//获得单元格的font对象    font.setProperty(FONT_SIZE, new Variant(32));//大小    font.setProperty(FONT_NAME, new Variant("Arial Black"));//使用Arial Black的字体    font.setProperty(BOLD, new Variant(true));//粗体    font.setProperty(COLOR_INDEX, new Variant(RED));//颜色   } }

运行效果:

在SWT中使用OLE操作Excel(五):设置单元格的字体格式 - 编程入门网

比较简单,我就不进行解释了

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号