知识大全 在SWT中使用OLE操纵Excel(四)
Posted 知
篇首语:一身转战三千里,一剑曾百万师。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 在SWT中使用OLE操纵Excel(四)相关的知识,希望对你有一定的参考价值。
在SWT中使用OLE操纵Excel(四) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
使单元格或列自动调整宽度
在实际应用中 常常会遇到单元格的值比较长而被遮住 用户不得不手动调整宽度 如果能通过程序就自动调整宽度就会很方便了 实际上在通过OleView exe这个工具查询得知Range有AutoFit的方法 它的Id是 x ed 那么如果获得了Range的引用 只要调用AutoFit这个方法 就可以自动调整宽度了 下面请看代码与示例效果
package jrkui example excel;
import eclipse swt SWT;
import eclipse swt layout FillLayout;
import eclipse swt ole win OLE;
import eclipse swt ole win OleAutomation;
import eclipse swt ole win OleClientSite;
import eclipse swt ole win OleFrame;
import eclipse swt ole win Variant;
import eclipse swt widgets Display;
import eclipse swt widgets Shell;
publicclass AutofitShell
publicstaticvoid main(String[] args)
new AutofitShell() open();
publicvoid open()
Display display = Display getDefault();
Shell shell = new Shell();
shell setText( Auto Fit );
shell setSize( );
shell setLayout(new FillLayout());
createExcelPart(shell);
shell open();
while(!shell isDisposed())
if(!display readAndDispatch())
display sleep();
display dispose();
privatestaticfinalintSHEET_ID = x e ;
privatestaticfinalintCELL_ID = x c ;
privatestaticfinalintCELL_VALUE_ID = x ;
privatevoid 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_IDnew Variant[]new Variant( )) getAutomation();
OleAutomation cellA = worksheet getProperty(CELL_IDnew Variant[]new Variant( A )) getAutomation();
cellA setProperty(CELL_VALUE_IDnew Variant( if you don t fit the width of the cell you couldn t see all ));
autoFitWidth(cellA );
// autoFitWidth(getColumnOfCell(cellA ));
publicstaticfinalintAUTO_FIT_RANGE = x ed;
/**
*自适应宽度
*@paramautomation
*/
privatevoid autoFitWidth(OleAutomation automation)
//如果使用automation getProperty(AUTO_FIT_RANGE)也是同样的效果
automation invoke(AUTO_FIT_RANGE);
publicstaticfinalintCOLUMN_OF_CELL = x f ;
/**
*获得单元格所在的列
*@paramcell
*@return
*/
private OleAutomation getColumnOfCell(OleAutomation cell)
return cell getProperty(COLUMN_OF_CELL) getAutomation();
运行效果(自动调整A 单元格的宽度)
运行效果(去掉createExcelPart()方法中的autoFitWidth(getColumnOfCell(cellA )) 的注释 自动调整A 单元格所在列的列宽)
说明
调整列宽在本例中是通过autoFitWidth(OleAutomation automation)方法
在autoFitWidth(OleAutomation automation)中调用了OleAutomation的invoke()方法 参数是所代表ole对象的方法的id 意思是调用该方法 用 automation getProperty(AUTO_FIT_RANGE)也是同样的效果
autoFitWidth(OleAutomation automation)的参数是一个Range对象 可以是一个单元格 也可以是一个单元格的区域 在本例中示范了两种效果(单元格 列)
cha138/Article/program/Java/hx/201311/25849相关参考
知识大全 excel中复制一行数据,但是粘贴时需要在这行数据的每行插入四个空格,也就是隔四行粘贴一个数,怎么做呢
excel中复制一行数据,但是粘贴时需要在这行数据的每行插入四个空格,也就是隔四行粘贴一个数,怎么做呢假设数据在A列要粘贴到C列在C1中输入或复制粘贴下列公式之一=IF(MOD(ROW(A5),5)=
知识大全 在ASP中利用Oracle Object for OLE访问Oracle 8
在ASP中利用OracleObjectforOLE访问Oracle8 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快
在Eclipse中使用SWT进行界面设计 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 为什么要
在Java中使用Draw2D和SWT绘图 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 用Jav
在PB中用OLE存取blob类型数据(一) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 前言
在PB中用OLE存取blob类型数据(二) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 处理b
在PB中用OLE存取blob类型数据(三) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 源程序
使用OLE对象访问Oracle数据库 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! OLE即对象
Eclipse开发经典教程:SWT事件 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!在窗口系统中程
在Java中操纵UDP 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 什么是UDP协议 UDP