莫相离 发表于 2015-1-18 11:08:37

了解下JAVA的在SWT中利用OLE操纵Excel(三)――设置单位格背景致

Java编译的是字节码,跟C++相反,启动不够快,效率不够高,难以精确控制内存,但是优点是编程比C++容易,代码比较安全但是容易留下性能隐患,跨平台靠字节码在各个平台复制(一处编译到处调试)
packagecom.jrkui.example.excel;

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.widgets.Display;importorg.eclipse.swt.widgets.Shell;publicclassColorRangeShell{publicstaticvoidmain(String[]args){newColorRangeShell().open();}publicvoidopen(){Displaydisplay=Display.getDefault();Shellshell=newShell();shell.setText("ColorRangeShell");shell.setSize(400,300);shell.setLayout(newFillLayout());createExcelPart(shell);shell.open();while(!shell.isDisposed())if(!display.readAndDispatch())display.sleep();display.dispose();}privatestaticfinalintSHEET_ID=0x000001e5;privatestaticfinalintCELL_ID=0x000000c5;privatevoidcreateExcelPart(Shellshell){OleFrameframe=newOleFrame(shell,SWT.NONE);OleClientSiteclientSite=newOleClientSite(frame,SWT.NONE,"Excel.Sheet");clientSite.doVerb(OLE.OLEIVERB_SHOW);OleAutomationworkbook=newOleAutomation(clientSite);OleAutomationworksheet=workbook.getProperty(SHEET_ID,newVariant[]{newVariant(1)}).getAutomation();//取得单位格OleAutomationcellA1=worksheet.getProperty(CELL_ID,newVariant[]{newVariant("A1")}).getAutomation();OleAutomationcellD1=worksheet.getProperty(CELL_ID,newVariant[]{newVariant("D1")}).getAutomation();//取得单位格地区OleAutomationareaA3D5=worksheet.getProperty(CELL_ID,newVariant[]{newVariant("A3"),newVariant("D5")}).getAutomation();colorRangeByRed(cellA1);colorRangeByRed(cellD1);colorRangeByRed(areaA3D5);}/***取得interior的办法在Range中的Id*/privatestaticfinalintINTERIOR=0x00000081;/***为ColorIndex赋值的办法在interior中的Id*/privatestaticfinalintCOLOR_INDEX=0x00000061;/***白色在Excel的Index为3*/privatestaticfinalintRED=3;/***用白色作为Range的背景致*@paramautomation*/privatevoidcolorRangeByRed(OleAutomationautomation){//取得interiorOleAutomationinterior=automation.getProperty(INTERIOR).getAutomation();//设置色彩interior.setProperty(COLOR_INDEX,newVariant(RED));}}<p>
再说说缺点:首先java功能强大的背后是其复杂性,就拿web来说,当今流行的框架有很多,什么struts,spring,jQuery等等,而这无疑增加了java的复杂性。

再现理想 发表于 2015-1-20 14:59:56

Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)

谁可相欹 发表于 2015-1-29 11:50:12

http://www.jdon.com/去下载,或到同济技术论坛的服务器ftp://nro.shtdu.edu.cn去下,安装上有什么问题,可以到论坛上去提问。

莫相离 发表于 2015-1-30 22:54:04

Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)

老尸 发表于 2015-2-6 16:33:15

应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展

小女巫 发表于 2015-2-17 07:38:57

应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展

灵魂腐蚀 发表于 2015-3-5 16:53:00

你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。

简单生活 发表于 2015-3-12 10:33:03

是一种突破用户端机器环境和CPU

分手快乐 发表于 2015-3-19 20:30:33

关于设计模式的资料,还是向大家推荐banq的网站 http://www.jdon.com/,他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。
页: [1]
查看完整版本: 了解下JAVA的在SWT中利用OLE操纵Excel(三)――设置单位格背景致