小编Oza*_*zan的帖子

使用Apache POI的SXSSFSheet从xlsx读取数据

我想使用apachi poi从某个xlsx文件中读取数据(单元格值).下面的代码SXSSFWorkBook成功创建了实例并分配了db.xlsx(我的虚拟xlsx).我尝试更改工作表编号并使用该getSheetNumber方法仔细检查它以确保正确分配工作簿.

接下来我想为实例分配一个特定工作表(0带名称的索引main)SXSSFSheet,但目前它返回null.(我有尝试getSheetAtgetSheet方法).

SXSSFRow DummyRow;
SXSSFCell DummyCell;

int RowCount;
OPCPackage pkg = OPCPackage.open(blabla string adress);

XSSFWorkbook wb = new XSSFWorkbook(pkg);
Workbook MainBook = new SXSSFWorkbook(wb,100);

int a = MainBook.getNumberOfSheets();

SXSSFSheet MainSheet = (SXSSFSheet) MainBook.getSheetAt(0); 
RowCount = MainSheet.getLastRowNum();
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

编辑:

我尝试过getSheetName方法并得到了积极的结果.所以问题是在工作表中到达行.所以,最后一行getLastRowNum()不起作用.

java apache xlsx apache-poi

9
推荐指数
1
解决办法
2万
查看次数

JLabel Overlapping

我创建了一个覆盖它的标签paintComponent(用不同的格式绘制弧形)并将它们放在面板上.一切都运行良好,但位于相同位置(由.setlocation)的标签产生问题.

假设我在同一位置有3个不同形状的标签.首先创建ABC A,然后创建B,最后创建c.当我点击A时,我的功能描绘了A并显示"你点击了A"

但是当我点击B或C时,它就像我点击了A.

(我在滚动窗格中堆叠的面板中添加标签)

这是我制作标签的代码

for(int i=0;i<rowcount;i++){
        arcstart = Rawazimuth(azimuth[i]);
                    //custom JLabel to paint it like an arc
        MyLabel FLabel = new MyLabel(100, 50, (int)arcstart,cellid[i],lon[i],lat[i]);
        FLabel.setOpaque(true);
        Dimension LabelSize = new Dimension( 100,50);
        FLabel.setSize(LabelSize);
                    //locate the JLabel to labels location. it might be same or not
        FLabel.setLocation(lon[i], lat[i]);

        MyPanel.add(FLabel);    
}
Run Code Online (Sandbox Code Playgroud)

这是我自定义的jlabel类

public MyLabel(int W, int H, int start,int outcellid,int lonn, int latt) {
    addMouseListener(this);
    arcsizeW = W;
    arcsizeH = H;
    arcstart = start;
    cellid = outcellid; …
Run Code Online (Sandbox Code Playgroud)

java layout swing jlabel overlap

1
推荐指数
1
解决办法
3963
查看次数

标签 统计

java ×2

apache ×1

apache-poi ×1

jlabel ×1

layout ×1

overlap ×1

swing ×1

xlsx ×1