You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@poi.apache.org by Gregor Kovač <ko...@gmail.com> on 2016/08/17 10:40:32 UTC
POI not returning all rows
Hi!
I have an Excel file for which POI does not return all rows. The file is in
attachment.
I have tried with POI 3.11 and 3.15beta2 with same results.
Program I use:
FileInputStream fis = null;
try {
File file = new
File("/home/gregor/tmp/smyk/LIVE4/POI_TEST.xls");
fis = new FileInputStream(file);
Workbook workBook = new HSSFWorkbook(fis);
int activeSheet = workBook.getActiveSheetIndex();
Sheet sheet1 = workBook.getSheetAt(activeSheet);
for (Row row : sheet1) {
System.out.println("#" + (row.getRowNum() + 1));
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (fis != null) {
try {
fis.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
Output I get:
#1
#2
#3
#4
#5
#6
#7
#8
#9
#10
#11
#12
#13
#14
#15
#16
#17
#18
#20
#21
#22
#23
As you can see #19 is missing and if I open the Excel file in LibreOffice
or Excel I see row 19.
Why does POI not return it?
Best regards,
Kovi
Re: POI not returning all rows
Posted by Andreas Reichel <an...@manticore-projects.com>.
Thank Microsoft for that, I claim to have had nothing to do with that.
:)
Cheers!
On Wed, 2016-08-17 at 13:17 +0200, Gregor Kovač wrote:
> Hi!
>
> > I know that rows are 0 based, but I didn't know that there can
actually be
> physically missing rows. Thanks for that. :)
>
> Best regards,
> Kovi
>
> > 2016-08-17 13:13 GMT+02:00 Andreas Reichel <andreas@manticore-project
s.com>:
>
> > Your program is correct! 19th row is in 20th line :)
> > Line 20 has no row. Sheet.getRow(19)==null! Rows and Cell can be
> > physically empty!
> >
> > try {
> > File file = new
> > File("/home/gregor/tmp/smyk/LIVE4/POI_TEST.xls");
> > fis = new
> > FileInputStream(file);
> > Workbook workBook = new
> > HSSFWorkbook(fis);
> > int activeSheet =
> > workBook.getActiveSheetIndex();
> > Sheet sheet1 =
> > workBook.getSheetAt(activeSheet);
> > int r=0;
> > for
> > (Row row : sheet1) {
> > r++;
> > > > System.out.println("Row" + r + " shows at Line #"
+
> > (row.getRowNum() + 1));
> > }
> > } catch (Exception e) {
> > e.printStackTrace();
> > } finally {
> > if (fis != null) {
> > try {
> > fis.close();
> > } catch (Exception e) {
> > e.printStackTrace();
> > }
> > }
> > }
> >
> > On Wed, 2016-08-17 at 13:09 +0200, Gregor Kovač wrote:
> > > Hi!
> > >
> > > > > > > > Can you please give me a corrected program that I sent in first
e-
> > mail?
> > >
> > > Best regards,
> > > Kovi
> > >
> > > > > > > > 2016-08-17 12:47 GMT+02:00 Andreas Reichel <andreas@manticore-p
roject
> > s.com>:
> > >
> > > > Gregor,
> > > >
> > > > Rows and Cell are shown in Excel, even when not there (meaning
> > > > Row==Null or Cell==Null).
> > > > Your need to create a row first and the populate it with cells.
> > > >
> > > > Best regards
> > > >
> > > > On Wed, 2016-08-17 at 12:40 +0200, Gregor Kovač wrote:
> > > > > Hi!
> > > > > > > > > > > > > > > > > > > > I have an Excel file for which POI does not return
all
> > rows.
> > The file
> > > > is in attachment.
> > > > > I have tried with POI 3.11 and 3.15beta2 with same results.
> > > > > Program I use:
> > > > > FileInputStream fis = null;
> > > > >
> > > > > try {
> > > > > > File file = new
> > > > File("/home/gregor/tmp/smyk/LIVE4/POI_TEST.xls");
> > > > > fis = new FileInputStream(file);
> > > > > Workbook workBook = new HSSFWorkbook(fis);
> > > > > int activeSheet = workBook.getActiveSheetIndex();
> > > > > Sheet sheet1 = workBook.getSheetAt(activeSheet);
> > > > >
> > > > > for (Row row : sheet1) {
> > > > > > > > > > System.out.println("#" + (row.getRowNum() +
1));
> > > > > }
> > > > > } catch (Exception e) {
> > > > > e.printStackTrace();
> > > > > } finally {
> > > > > if (fis != null) {
> > > > > try {
> > > > > fis.close();
> > > > > } catch (Exception e) {
> > > > > e.printStackTrace();
> > > > > }
> > > > > }
> > > > > }
> > > > >
> > > > >
> > > > >
> > > > > Output I get:
> > > > > #1
> > > > > #2
> > > > > #3
> > > > > #4
> > > > > #5
> > > > > #6
> > > > > #7
> > > > > #8
> > > > > #9
> > > > > #10
> > > > > #11
> > > > > #12
> > > > > #13
> > > > > #14
> > > > > #15
> > > > > #16
> > > > > #17
> > > > > #18
> > > > > #20
> > > > > #21
> > > > > #22
> > > > > #23
> > > > >
> > > > >
> > > > > > > > > > > > As you can see #19 is missing and if I open the Excel file
in
> > > > LibreOffice or Excel I see row 19.
> > > > > Why does POI not return it?
> > > > >
> > > > > Best regards,
> > > > > Kovi
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > > > > > > > > > > > > -----------------------------------------------------
-------
> > ---
> > ------
> > > > > To unsubscribe, e-mail: user-unsubscribe@poi.apache.org
> > > > > For additional commands, e-mail: user-help@poi.apache.org
> > > >
> > >
> > >
> > >
> >
>
>
>
Re: POI not returning all rows
Posted by Gregor Kovač <ko...@gmail.com>.
Hi!
I know that rows are 0 based, but I didn't know that there can actually be
physically missing rows. Thanks for that. :)
Best regards,
Kovi
2016-08-17 13:13 GMT+02:00 Andreas Reichel <an...@manticore-projects.com>:
> Your program is correct! 19th row is in 20th line :)
> Line 20 has no row. Sheet.getRow(19)==null! Rows and Cell can be
> physically empty!
>
> try {
> File file = new
> File("/home/gregor/tmp/smyk/LIVE4/POI_TEST.xls");
> fis = new
> FileInputStream(file);
> Workbook workBook = new
> HSSFWorkbook(fis);
> int activeSheet =
> workBook.getActiveSheetIndex();
> Sheet sheet1 =
> workBook.getSheetAt(activeSheet);
> int r=0;
> for
> (Row row : sheet1) {
> r++;
> System.out.println("Row" + r + " shows at Line #" +
> (row.getRowNum() + 1));
> }
> } catch (Exception e) {
> e.printStackTrace();
> } finally {
> if (fis != null) {
> try {
> fis.close();
> } catch (Exception e) {
> e.printStackTrace();
> }
> }
> }
>
> On Wed, 2016-08-17 at 13:09 +0200, Gregor Kovač wrote:
> > Hi!
> >
> > > Can you please give me a corrected program that I sent in first e-
> mail?
> >
> > Best regards,
> > Kovi
> >
> > > 2016-08-17 12:47 GMT+02:00 Andreas Reichel <andreas@manticore-project
> s.com>:
> >
> > > Gregor,
> > >
> > > Rows and Cell are shown in Excel, even when not there (meaning
> > > Row==Null or Cell==Null).
> > > Your need to create a row first and the populate it with cells.
> > >
> > > Best regards
> > >
> > > On Wed, 2016-08-17 at 12:40 +0200, Gregor Kovač wrote:
> > > > Hi!
> > > > > > > > > I have an Excel file for which POI does not return all
> rows.
> The file
> > > is in attachment.
> > > > I have tried with POI 3.11 and 3.15beta2 with same results.
> > > > Program I use:
> > > > FileInputStream fis = null;
> > > >
> > > > try {
> > > > > File file = new
> > > File("/home/gregor/tmp/smyk/LIVE4/POI_TEST.xls");
> > > > fis = new FileInputStream(file);
> > > > Workbook workBook = new HSSFWorkbook(fis);
> > > > int activeSheet = workBook.getActiveSheetIndex();
> > > > Sheet sheet1 = workBook.getSheetAt(activeSheet);
> > > >
> > > > for (Row row : sheet1) {
> > > > System.out.println("#" + (row.getRowNum() + 1));
> > > > }
> > > > } catch (Exception e) {
> > > > e.printStackTrace();
> > > > } finally {
> > > > if (fis != null) {
> > > > try {
> > > > fis.close();
> > > > } catch (Exception e) {
> > > > e.printStackTrace();
> > > > }
> > > > }
> > > > }
> > > >
> > > >
> > > >
> > > > Output I get:
> > > > #1
> > > > #2
> > > > #3
> > > > #4
> > > > #5
> > > > #6
> > > > #7
> > > > #8
> > > > #9
> > > > #10
> > > > #11
> > > > #12
> > > > #13
> > > > #14
> > > > #15
> > > > #16
> > > > #17
> > > > #18
> > > > #20
> > > > #21
> > > > #22
> > > > #23
> > > >
> > > >
> > > > > As you can see #19 is missing and if I open the Excel file in
> > > LibreOffice or Excel I see row 19.
> > > > Why does POI not return it?
> > > >
> > > > Best regards,
> > > > Kovi
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > > > > ------------------------------------------------------------
> ---
> ------
> > > > To unsubscribe, e-mail: user-unsubscribe@poi.apache.org
> > > > For additional commands, e-mail: user-help@poi.apache.org
> > >
> >
> >
> >
>
--
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~
| In A World Without Fences Who Needs Gates? |
| Experience Linux. |
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~
Re: POI not returning all rows
Posted by Andreas Reichel <an...@manticore-projects.com>.
Your program is correct! 19th row is in 20th line :)
Line 20 has no row. Sheet.getRow(19)==null! Rows and Cell can be
physically empty!
try {
File file = new
File("/home/gregor/tmp/smyk/LIVE4/POI_TEST.xls");
fis = new
FileInputStream(file);
Workbook workBook = new
HSSFWorkbook(fis);
int activeSheet =
workBook.getActiveSheetIndex();
Sheet sheet1 =
workBook.getSheetAt(activeSheet);
int r=0;
for
(Row row : sheet1) {
r++;
System.out.println("Row" + r + " shows at Line #" + (row.getRowNum() + 1));
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (fis != null) {
try {
fis.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
On Wed, 2016-08-17 at 13:09 +0200, Gregor Kovač wrote:
> Hi!
>
> > Can you please give me a corrected program that I sent in first e-
mail?
>
> Best regards,
> Kovi
>
> > 2016-08-17 12:47 GMT+02:00 Andreas Reichel <andreas@manticore-project
s.com>:
>
> > Gregor,
> >
> > Rows and Cell are shown in Excel, even when not there (meaning
> > Row==Null or Cell==Null).
> > Your need to create a row first and the populate it with cells.
> >
> > Best regards
> >
> > On Wed, 2016-08-17 at 12:40 +0200, Gregor Kovač wrote:
> > > Hi!
> > > > > > > > I have an Excel file for which POI does not return all rows.
The file
> > is in attachment.
> > > I have tried with POI 3.11 and 3.15beta2 with same results.
> > > Program I use:
> > > FileInputStream fis = null;
> > >
> > > try {
> > > > File file = new
> > File("/home/gregor/tmp/smyk/LIVE4/POI_TEST.xls");
> > > fis = new FileInputStream(file);
> > > Workbook workBook = new HSSFWorkbook(fis);
> > > int activeSheet = workBook.getActiveSheetIndex();
> > > Sheet sheet1 = workBook.getSheetAt(activeSheet);
> > >
> > > for (Row row : sheet1) {
> > > System.out.println("#" + (row.getRowNum() + 1));
> > > }
> > > } catch (Exception e) {
> > > e.printStackTrace();
> > > } finally {
> > > if (fis != null) {
> > > try {
> > > fis.close();
> > > } catch (Exception e) {
> > > e.printStackTrace();
> > > }
> > > }
> > > }
> > >
> > >
> > >
> > > Output I get:
> > > #1
> > > #2
> > > #3
> > > #4
> > > #5
> > > #6
> > > #7
> > > #8
> > > #9
> > > #10
> > > #11
> > > #12
> > > #13
> > > #14
> > > #15
> > > #16
> > > #17
> > > #18
> > > #20
> > > #21
> > > #22
> > > #23
> > >
> > >
> > > > As you can see #19 is missing and if I open the Excel file in
> > LibreOffice or Excel I see row 19.
> > > Why does POI not return it?
> > >
> > > Best regards,
> > > Kovi
> > >
> > >
> > >
> > >
> > >
> > > > > > ---------------------------------------------------------------
------
> > > To unsubscribe, e-mail: user-unsubscribe@poi.apache.org
> > > For additional commands, e-mail: user-help@poi.apache.org
> >
>
>
>
Re: POI not returning all rows
Posted by Gregor Kovač <ko...@gmail.com>.
Hi!
Can you please give me a corrected program that I sent in first e-mail?
Best regards,
Kovi
2016-08-17 12:47 GMT+02:00 Andreas Reichel <an...@manticore-projects.com>:
> Gregor,
>
> Rows and Cell are shown in Excel, even when not there (meaning
> Row==Null or Cell==Null).
> Your need to create a row first and the populate it with cells.
>
> Best regards
>
> On Wed, 2016-08-17 at 12:40 +0200, Gregor Kovač wrote:
> > Hi!
> > > I have an Excel file for which POI does not return all rows. The file
> is in attachment.
> > I have tried with POI 3.11 and 3.15beta2 with same results.
> > Program I use:
> > FileInputStream fis = null;
> >
> > try {
> > > File file = new
> File("/home/gregor/tmp/smyk/LIVE4/POI_TEST.xls");
> > fis = new FileInputStream(file);
> > Workbook workBook = new HSSFWorkbook(fis);
> > int activeSheet = workBook.getActiveSheetIndex();
> > Sheet sheet1 = workBook.getSheetAt(activeSheet);
> >
> > for (Row row : sheet1) {
> > System.out.println("#" + (row.getRowNum() + 1));
> > }
> > } catch (Exception e) {
> > e.printStackTrace();
> > } finally {
> > if (fis != null) {
> > try {
> > fis.close();
> > } catch (Exception e) {
> > e.printStackTrace();
> > }
> > }
> > }
> >
> >
> >
> > Output I get:
> > #1
> > #2
> > #3
> > #4
> > #5
> > #6
> > #7
> > #8
> > #9
> > #10
> > #11
> > #12
> > #13
> > #14
> > #15
> > #16
> > #17
> > #18
> > #20
> > #21
> > #22
> > #23
> >
> >
> > > As you can see #19 is missing and if I open the Excel file in
> LibreOffice or Excel I see row 19.
> > Why does POI not return it?
> >
> > Best regards,
> > Kovi
> >
> >
> >
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: user-unsubscribe@poi.apache.org
> > For additional commands, e-mail: user-help@poi.apache.org
>
--
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~
| In A World Without Fences Who Needs Gates? |
| Experience Linux. |
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~
Re: POI not returning all rows
Posted by Andreas Reichel <an...@manticore-projects.com>.
Gregor,
Rows and Cell are shown in Excel, even when not there (meaning
Row==Null or Cell==Null).
Your need to create a row first and the populate it with cells.
Best regards
On Wed, 2016-08-17 at 12:40 +0200, Gregor Kovač wrote:
> Hi!
> > I have an Excel file for which POI does not return all rows. The file
is in attachment.
> I have tried with POI 3.11 and 3.15beta2 with same results.
> Program I use:
> FileInputStream fis = null;
>
> try {
> > File file = new
File("/home/gregor/tmp/smyk/LIVE4/POI_TEST.xls");
> fis = new FileInputStream(file);
> Workbook workBook = new HSSFWorkbook(fis);
> int activeSheet = workBook.getActiveSheetIndex();
> Sheet sheet1 = workBook.getSheetAt(activeSheet);
>
> for (Row row : sheet1) {
> System.out.println("#" + (row.getRowNum() + 1));
> }
> } catch (Exception e) {
> e.printStackTrace();
> } finally {
> if (fis != null) {
> try {
> fis.close();
> } catch (Exception e) {
> e.printStackTrace();
> }
> }
> }
>
>
>
> Output I get:
> #1
> #2
> #3
> #4
> #5
> #6
> #7
> #8
> #9
> #10
> #11
> #12
> #13
> #14
> #15
> #16
> #17
> #18
> #20
> #21
> #22
> #23
>
>
> > As you can see #19 is missing and if I open the Excel file in
LibreOffice or Excel I see row 19.
> Why does POI not return it?
>
> Best regards,
> Kovi
>
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@poi.apache.org
> For additional commands, e-mail: user-help@poi.apache.org