Shawn,
the problem as I tracked it using BiffViewer is that
setAsActiveCell() does not actually put the cell into
view, but there is another parameter "[WINDOW].toprow"
that controls this. Apparently POI HSSF does not have
an API call to set this.
BiffView results snippets:
In the file generated by saving from within MsExcel
(with active cell = D100 & toprow in the view = 58):
<snip>
[WINDOW2]
.options = 6b6
.dispformulas= false
.dispgridlins= true
.disprcheadin= true
.freezepanes = false
.displayzeros= true
.defaultheadr= true
.arabic = false
.displayguts = true
.frzpnsnosplt= false
.selected = true
.paged = true
.svdinpgbrkpv= false
.toprow = 39
.leftcol = 0
.headercolor = 40
.pagebreakzoom = 0
.normalzoom = 0
.reserved = 0
[/WINDOW2]
Offset 0x710 (1808)
recordid = 0x1d, size = 15
[SELECTION]
.pane = 3
.activecellrow = 63
.activecellcol = 3
.activecellref = 0
.numrefs = 1
[/SELECTION]
</snip>
Whereas calling cell.setAsActiveCell and BiffViewing the generated file
gives:
<snip>
[WINDOW2]
.options = 6b6
.dispformulas= false
.dispgridlins= true
.disprcheadin= true
.freezepanes = false
.displayzeros= true
.defaultheadr= true
.arabic = false
.displayguts = true
.frzpnsnosplt= false
.selected = true
.paged = true
.svdinpgbrkpv= false
.toprow = 0
.leftcol = 0
.headercolor = 40
.pagebreakzoom = 0
.normalzoom = 0
.reserved = 0
[/WINDOW2]
Offset 0x71e (1822)
recordid = 0x1d, size = 15
[SELECTION]
.pane = 3
.activecellrow = 63
.activecellcol = 3
.activecellref = 0
.numrefs = 1
[/SELECTION]
</snip>
Which means that although BiffViewer shows that
POI generated excel sets the value for the
"[SELECTION].activecellrow" and
"[SELECTION].activecellcol" match those from MsExcel
generated file, the value for "[WINDOW2].toprow"
is not set correctly by POI (Probably POI ignores
this altogether).
So probably it would help to have a sheet.setTopRow()
or some such method that sets the top row in focus.
HTH,
~ amol
> -----Original Message-----
> From: Shawn Laubach [mailto:[EMAIL PROTECTED]
> Sent: Tuesday, May 03, 2005 4:39 PM
> To: 'Abhi'; 'POI Users List'
> Subject: RE: How to mandate showing the active cell when the
> Excel file
> is first opened?
>
>
> From what I remember, it should show up on the screen if that
> is also the
> active sheet. I'd just run a quick test and create a sheet
> with some data
> in the first cell and one at the bottom or something and make
> one of the
> bottom ones active.
>
>
>
> Shawn
>
>
>
> _____
>
> From: Abhi [mailto:[EMAIL PROTECTED]
> Sent: Tuesday, May 03, 2005 8:56 AM
> To: Shawn Laubach
> Subject: Re: How to mandate showing the active cell when the
> Excel file is
> first opened?
>
>
>
> hey, setAsActiveCell sets a given cell as the active cell.
> But does it also
> ensure that when the file is opened in excel, this is the
> cell shown on the
> screen? I mean the cell would be the active cell but might
> still be outside
> the displayed screen area (on the display unit) of the excel sheet.
>
>
>
> plz help if u have any idea
>
>
>
> On 5/3/05, Shawn Laubach <[EMAIL PROTECTED]> wrote:
>
> http://jakarta.apache.org/poi/apidocs/org/apache/poi/hssf/user
> model/HSSFCell
>
> .html#setAsActiveCell()
>
> Shawn
>
> -----Original Message-----
> From: Abhi [mailto:[EMAIL PROTECTED]
> Sent: Tuesday, May 03, 2005 7:42 AM
> To: POI Users List
> Subject: Re: How to mandate showing the active cell when the
> Excel file is
> first opened?
>
> did u find a solution? please do let me know the solution(s).
>
> On 4/30/05, Li, Jianming non Unisys < <mailto:[EMAIL PROTECTED]>
> [EMAIL PROTECTED]> wrote:
> >
> > Hi there,
> >
> > We are using POI to generate a large Excel file (the work
> sheet contains
> > around 50,000 rows of data) for our client. Our client
> mandates that
> > when the file is first opened with Excel, it shows the last
> row data. I
> > can set the first cell of the last row as active cell with
> > hSSFCell.setAsActiveCell(). But how can I programmatically
> dictate that
> > the active cell be shown before I write HSSFWorkbook to the actually
> > file?
> >
> > Any clue is grealy appreciated,
> >
> > Jimmy Lee
> >
> >
>
> --
> Abhi
> trin-trin: 9810760474
> ************************************************
> Love is the desire to do good to others
>
> GREATEST is the one who LOVES all creations of GOD
>
>
>
>
> --
> Abhi
> trin-trin: 9810760474
> ************************************************
> Love is the desire to do good to others
>
> GREATEST is the one who LOVES all creations of GOD
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
Mailing List: http://jakarta.apache.org/site/mail2.html#poi
The Apache Jakarta Poi Project: http://jakarta.apache.org/poi/